Compare commits

..

No commits in common. "1.0" and "stable" have entirely different histories.
1.0 ... stable

134 changed files with 13091 additions and 1483 deletions

View file

@ -1,4 +0,0 @@
[Dolphin]
PreviewsShown=true
Timestamp=2017,8,4,18,2,39
Version=4

2
.gitignore vendored
View file

@ -1,2 +1,4 @@
*~
.directory
godot
build

889
.tmp
View file

@ -1,889 +0,0 @@
[gd_resource type="TileSet" load_steps=46 format=2]
[ext_resource path="res://Sprites/Tilesets/tile full.png" type="Texture" id=0]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = PoolVector2Array( -21.2298, -23.8952, -16.2848, -26.453, -9.37893, -26.9645, 32, -28, 32, 32, -27, 32, -26.601, -15.7957, -24.4696, -20.3144 )
[sub_resource type="ConvexPolygonShape2D" id=2]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -28, 32, -28, 32, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=12]
custom_solver_bias = 0.0
points = PoolVector2Array( -31, -32, 33, -32, 33, 32, -27, 32, -29, 30, -31, 28 )
[sub_resource type="ConvexPolygonShape2D" id=13]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -32, 32, -32, 32, 28, 30, 30, 28, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=14]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -32, 28, -32, 32, -28, 32.0174, 32.0416, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=15]
custom_solver_bias = 0.0
points = PoolVector2Array( -13, -27, 13, -27, 20.1871, -23.398, 26, -16, 26, 18, 22, 24, 12, 27, -11.8241, 27.0544, -22.7264, 24.6188, -27, 19, -26.9018, -15.1633, -21.7986, -22.5862, -18, -25 )
[sub_resource type="ConvexPolygonShape2D" id=16]
custom_solver_bias = 0.0
points = PoolVector2Array( -27, 32, 32, -28, 32.0174, 31.9257 )
[sub_resource type="ConvexPolygonShape2D" id=17]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -28, -29, -25, 28, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=18]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -32, 27, -32, -32, 28 )
[sub_resource type="ConvexPolygonShape2D" id=19]
custom_solver_bias = 0.0
points = PoolVector2Array( 32, -32, 32, 28, -28, -32 )
[sub_resource type="ConvexPolygonShape2D" id=20]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 20, 31, 32, 18, 32, -25, 32, -11, 20 )
[sub_resource type="ConvexPolygonShape2D" id=3]
custom_solver_bias = 0.0
points = PoolVector2Array( -32, -28, 13.8965, -27.135, 19.9498, -24.2363, 24.2127, -19.4618, 25.4063, -15.7105, 26, 32, -32, 32 )
[sub_resource type="ConvexPolygonShape2D" id=21]
custom_solver_bias = 0.0
points = PoolVector2Array( 14, 24, 27, 30, -22, 30, -8, 24 )
[sub_resource type="ConvexPolygonShape2D" id=22]
custom_solver_bias = 0.0
points = PoolVector2Array( 17, 24, 27, 30, -21, 30, -11, 24 )
[sub_resource type="ConvexPolygonShape2D" id=23]
custom_solver_bias = 0.0
points = PoolVector2Array( 14, 13, 17, 24, -11, 24, -8, 13 )
[sub_resource type="ConvexPolygonShape2D" id=24]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 23, 27, 30, -21, 30, -10, 23 )
[sub_resource type="ConvexPolygonShape2D" id=25]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 23, -10, 23, -9, -31, 16, -31 )
[sub_resource type="ConvexPolygonShape2D" id=4]
custom_solver_bias = 0.0
points = PoolVector2Array( 32, -32, 32, 32, -28, 32, -27.4817, -32.0967 )
[sub_resource type="ConvexPolygonShape2D" id=26]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 23, 27, 30, -21, 30, -10, 23 )
[sub_resource type="ConvexPolygonShape2D" id=27]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 23, -10, 23, -9, -34, 16, -34 )
[sub_resource type="ConvexPolygonShape2D" id=28]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, -34, 16, 30, -9, 30, -9, -34 )
[sub_resource type="ConvexPolygonShape2D" id=29]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, -31, 16, 30, -9, 30, -9, -31 )
[sub_resource type="ConvexPolygonShape2D" id=30]
custom_solver_bias = 0.0
points = PoolVector2Array( -9, -34, 16, -34, 16, -19, -9, 30 )
[sub_resource type="ConvexPolygonShape2D" id=31]
custom_solver_bias = 0.0
points = PoolVector2Array( -9, 30, 16, -19, 23, -12, 24, 3, 16, 17 )
[sub_resource type="ConvexPolygonShape2D" id=32]
custom_solver_bias = 0.0
points = PoolVector2Array( 23, -12, 35, -12, 35, -1, 24, 3 )
[sub_resource type="ConvexPolygonShape2D" id=33]
custom_solver_bias = 0.0
points = PoolVector2Array( -9, 30, 16, 17, 16, 30 )
[sub_resource type="ConvexPolygonShape2D" id=34]
custom_solver_bias = 0.0
points = PoolVector2Array( -9, -34, 16, -34, 16, 30, -9, -18 )
[sub_resource type="ConvexPolygonShape2D" id=35]
custom_solver_bias = 0.0
points = PoolVector2Array( -16, -12, -9, -18, 16, 30, -9, 14, -15, 4 )
[sub_resource type="ConvexPolygonShape2D" id=36]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 30, -9, 30, -9, 14 )
[sub_resource type="ConvexPolygonShape2D" id=37]
custom_solver_bias = 0.0
points = PoolVector2Array( -16, -12, -15, 4, -29, -1, -29, -12 )
[sub_resource type="RectangleShape2D" id=38]
custom_solver_bias = 0.0
extents = Vector2( 2, 6 )
[sub_resource type="RectangleShape2D" id=39]
custom_solver_bias = 0.0
extents = Vector2( 32, 6 )
[sub_resource type="ConvexPolygonShape2D" id=40]
custom_solver_bias = 0.0
points = PoolVector2Array( -9, -18, -9, -34, 16, -34, 16, -18 )
[sub_resource type="ConvexPolygonShape2D" id=41]
custom_solver_bias = 0.0
points = PoolVector2Array( 23, -12, 35, -12, 35, -1, 23, 4, -14, 6 )
[sub_resource type="ConvexPolygonShape2D" id=42]
custom_solver_bias = 0.0
points = PoolVector2Array( 16, 19, 16, 30, -9, 30, -9, 18 )
[sub_resource type="ConvexPolygonShape2D" id=43]
custom_solver_bias = 0.0
points = PoolVector2Array( -24, -1, -29, -1, -29, -12, -17, -12 )
[sub_resource type="ConvexPolygonShape2D" id=44]
custom_solver_bias = 0.0
points = PoolVector2Array( -14, 6, -24, -1, -17, -12, -9, -18, 16, -18, 23, -12 )
[sub_resource type="ConvexPolygonShape2D" id=45]
custom_solver_bias = 0.0
points = PoolVector2Array( 23, 4, 16, 19, -9, 18, -14, 6 )
[sub_resource type="ConvexPolygonShape2D" id=5]
custom_solver_bias = 0.0
points = PoolVector2Array( 32, -32, 32, 32, -32, 32, -32, -32 )
[sub_resource type="ConvexPolygonShape2D" id=6]
custom_solver_bias = 0.0
points = PoolVector2Array( 27, -32, 27, 32, -32, 32, -32, -32 )
[sub_resource type="ConvexPolygonShape2D" id=7]
custom_solver_bias = 0.0
points = PoolVector2Array( 32.0174, -32.3287, 32.2493, 27.9823, -9.96833, 27.1704, -21.5666, 24.9667, -24.4662, 22.763, -27, 17, -26.9018, -31.7488 )
[sub_resource type="ConvexPolygonShape2D" id=8]
custom_solver_bias = 0.0
points = PoolVector2Array( 32, -32, 32, 28, -32, 28, -32, -32 )
[sub_resource type="ConvexPolygonShape2D" id=9]
custom_solver_bias = 0.0
points = PoolVector2Array( 27, -32, 27, 15, 25, 21, 21.115, 25.3147, 11.2565, 26.8224, -32, 28, -32, -32 )
[sub_resource type="ConvexPolygonShape2D" id=10]
custom_solver_bias = 0.0
points = PoolVector2Array( 32, -32, 32, 32, -32, 32, -31.8891, -27.3414, -29, -30 )
[sub_resource type="ConvexPolygonShape2D" id=11]
custom_solver_bias = 0.0
points = PoolVector2Array( -27, -32, 32, -32, -29, -30 )
[resource]
0/name = "Arriba_Izquierda1"
0/texture = null
0/tex_offset = Vector2( 0, 0 )
0/material = null
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 0, 0, 64, 64 )
0/occluder_offset = Vector2( 32, 32 )
0/occluder = null
0/navigation_offset = Vector2( 32, 32 )
0/navigation = null
0/shape_offset = Vector2( 32, 32 )
0/shapes = [ ]
0/one_way_collision_direction = Vector2( 0, 0 )
0/one_way_collision_max_depth = 0.0
1/name = "Arriba"
1/texture = null
1/tex_offset = Vector2( 0, 0 )
1/material = null
1/modulate = Color( 1, 1, 1, 1 )
1/region = Rect2( 64, 0, 64, 64 )
1/occluder_offset = Vector2( 31.9147, 31.9147 )
1/occluder = null
1/navigation_offset = Vector2( 31.9147, 31.9147 )
1/navigation = null
1/shape_offset = Vector2( 31.9147, 31.9147 )
1/shapes = [ ]
1/one_way_collision_direction = Vector2( 0, 0 )
1/one_way_collision_max_depth = 0.0
2/name = "Arriba_Derecha"
2/texture = null
2/tex_offset = Vector2( 0, 0 )
2/material = null
2/modulate = Color( 1, 1, 1, 1 )
2/region = Rect2( 128, 0, 64, 64 )
2/occluder_offset = Vector2( 31.9147, 31.9147 )
2/occluder = null
2/navigation_offset = Vector2( 31.9147, 31.9147 )
2/navigation = null
2/shape_offset = Vector2( 31.9147, 31.9147 )
2/shapes = [ ]
2/one_way_collision_direction = Vector2( 0, 0 )
2/one_way_collision_max_depth = 0.0
3/name = "Izquierda"
3/texture = null
3/tex_offset = Vector2( 0, 0 )
3/material = null
3/modulate = Color( 1, 1, 1, 1 )
3/region = Rect2( 0, 64, 64, 64 )
3/occluder_offset = Vector2( 31.9147, 31.9147 )
3/occluder = null
3/navigation_offset = Vector2( 31.9147, 31.9147 )
3/navigation = null
3/shape_offset = Vector2( 31.9147, 31.9147 )
3/shapes = [ ]
3/one_way_collision_direction = Vector2( 0, 0 )
3/one_way_collision_max_depth = 0.0
4/name = "Centro"
4/texture = null
4/tex_offset = Vector2( 0, 0 )
4/material = null
4/modulate = Color( 1, 1, 1, 1 )
4/region = Rect2( 64, 64, 64, 64 )
4/occluder_offset = Vector2( 31.9147, 31.9147 )
4/occluder = null
4/navigation_offset = Vector2( 31.9147, 31.9147 )
4/navigation = null
4/shape_offset = Vector2( 31.9147, 31.9147 )
4/shapes = [ ]
4/one_way_collision_direction = Vector2( 0, 0 )
4/one_way_collision_max_depth = 0.0
5/name = "Derecha"
5/texture = null
5/tex_offset = Vector2( 0, 0 )
5/material = null
5/modulate = Color( 1, 1, 1, 1 )
5/region = Rect2( 128, 64, 64, 64 )
5/occluder_offset = Vector2( 31.9147, 31.9147 )
5/occluder = null
5/navigation_offset = Vector2( 31.9147, 31.9147 )
5/navigation = null
5/shape_offset = Vector2( 31.9147, 31.9147 )
5/shapes = [ ]
5/one_way_collision_direction = Vector2( 0, 0 )
5/one_way_collision_max_depth = 0.0
6/name = "Abajo_Izquierda"
6/texture = null
6/tex_offset = Vector2( 0, 0 )
6/material = null
6/modulate = Color( 1, 1, 1, 1 )
6/region = Rect2( 0, 128, 64, 64 )
6/occluder_offset = Vector2( 31.9147, 31.9147 )
6/occluder = null
6/navigation_offset = Vector2( 31.9147, 31.9147 )
6/navigation = null
6/shape_offset = Vector2( 31.9147, 31.9147 )
6/shapes = [ ]
6/one_way_collision_direction = Vector2( 0, 0 )
6/one_way_collision_max_depth = 0.0
7/name = "Abajo"
7/texture = null
7/tex_offset = Vector2( 0, 0 )
7/material = null
7/modulate = Color( 1, 1, 1, 1 )
7/region = Rect2( 64, 128, 64, 64 )
7/occluder_offset = Vector2( 31.9147, 31.9147 )
7/occluder = null
7/navigation_offset = Vector2( 31.9147, 31.9147 )
7/navigation = null
7/shape_offset = Vector2( 31.9147, 31.9147 )
7/shapes = [ ]
7/one_way_collision_direction = Vector2( 0, 0 )
7/one_way_collision_max_depth = 0.0
8/name = "Abajo_Derecha"
8/texture = null
8/tex_offset = Vector2( 0, 0 )
8/material = null
8/modulate = Color( 1, 1, 1, 1 )
8/region = Rect2( 128, 128, 64, 64 )
8/occluder_offset = Vector2( 31.9147, 31.9147 )
8/occluder = null
8/navigation_offset = Vector2( 31.9147, 31.9147 )
8/navigation = null
8/shape_offset = Vector2( 31.9147, 31.9147 )
8/shapes = [ ]
8/one_way_collision_direction = Vector2( 0, 0 )
8/one_way_collision_max_depth = 0.0
9/name = "Inner_Derecha_Abajo"
9/texture = null
9/tex_offset = Vector2( 0, 0 )
9/material = null
9/modulate = Color( 1, 1, 1, 1 )
9/region = Rect2( 256, 256, 64, 64 )
9/occluder_offset = Vector2( 31.9147, 31.9147 )
9/occluder = null
9/navigation_offset = Vector2( 31.9147, 31.9147 )
9/navigation = null
9/shape_offset = Vector2( 31.9147, 31.9147 )
9/shapes = [ , ]
9/one_way_collision_direction = Vector2( 0, 0 )
9/one_way_collision_max_depth = 0.0
10/name = "Inner_Derecha_Arriba"
10/texture = null
10/tex_offset = Vector2( 0, 0 )
10/material = null
10/modulate = Color( 1, 1, 1, 1 )
10/region = Rect2( 256, 192, 64, 64 )
10/occluder_offset = Vector2( 31.9147, 31.9147 )
10/occluder = null
10/navigation_offset = Vector2( 31.9147, 31.9147 )
10/navigation = null
10/shape_offset = Vector2( 31.9147, 31.9147 )
10/shapes = [ ]
10/one_way_collision_direction = Vector2( 0, 0 )
10/one_way_collision_max_depth = 0.0
11/name = "Inner_Izquierda_Arriba"
11/texture = null
11/tex_offset = Vector2( 0, 0 )
11/material = null
11/modulate = Color( 1, 1, 1, 1 )
11/region = Rect2( 192, 192, 64, 64 )
11/occluder_offset = Vector2( 31.9147, 31.9147 )
11/occluder = null
11/navigation_offset = Vector2( 31.9147, 31.9147 )
11/navigation = null
11/shape_offset = Vector2( 31.9147, 31.9147 )
11/shapes = [ ]
11/one_way_collision_direction = Vector2( 0, 0 )
11/one_way_collision_max_depth = 0.0
12/name = "Inner_Izquierda_Abajo"
12/texture = null
12/tex_offset = Vector2( 0, 0 )
12/material = null
12/modulate = Color( 1, 1, 1, 1 )
12/region = Rect2( 192, 256, 64, 64 )
12/occluder_offset = Vector2( 31.9147, 31.9147 )
12/occluder = null
12/navigation_offset = Vector2( 31.9147, 31.9147 )
12/navigation = null
12/shape_offset = Vector2( 31.9147, 31.9147 )
12/shapes = [ ]
12/one_way_collision_direction = Vector2( 0, 0 )
12/one_way_collision_max_depth = 0.0
13/name = "Unico"
13/texture = null
13/tex_offset = Vector2( 0, 0 )
13/material = null
13/modulate = Color( 1, 1, 1, 1 )
13/region = Rect2( 192, 64, 64, 64 )
13/occluder_offset = Vector2( 31.9147, 31.9147 )
13/occluder = null
13/navigation_offset = Vector2( 31.9147, 31.9147 )
13/navigation = null
13/shape_offset = Vector2( 31.9147, 31.9147 )
13/shapes = [ ]
13/one_way_collision_direction = Vector2( 0, 0 )
13/one_way_collision_max_depth = 0.0
14/name = "Rampa1"
14/texture = null
14/tex_offset = Vector2( 0, 0 )
14/material = null
14/modulate = Color( 1, 1, 1, 1 )
14/region = Rect2( 0, 192, 64, 64 )
14/occluder_offset = Vector2( 31.9147, 31.9147 )
14/occluder = null
14/navigation_offset = Vector2( 31.9147, 31.9147 )
14/navigation = null
14/shape_offset = Vector2( 31.9147, 31.9147 )
14/shapes = [ ]
14/one_way_collision_direction = Vector2( 0, 0 )
14/one_way_collision_max_depth = 0.0
15/name = "Rampa2"
15/texture = null
15/tex_offset = Vector2( 0, 0 )
15/material = null
15/modulate = Color( 1, 1, 1, 1 )
15/region = Rect2( 64, 192, 64, 64 )
15/occluder_offset = Vector2( 31.9147, 31.9147 )
15/occluder = null
15/navigation_offset = Vector2( 31.9147, 31.9147 )
15/navigation = null
15/shape_offset = Vector2( 31.9147, 31.9147 )
15/shapes = [ ]
15/one_way_collision_direction = Vector2( 0, 0 )
15/one_way_collision_max_depth = 0.0
16/name = "Rampa3"
16/texture = null
16/tex_offset = Vector2( 0, 0 )
16/material = null
16/modulate = Color( 1, 1, 1, 1 )
16/region = Rect2( 64, 256, 64, 64 )
16/occluder_offset = Vector2( 31.9147, 31.9147 )
16/occluder = null
16/navigation_offset = Vector2( 31.9147, 31.9147 )
16/navigation = null
16/shape_offset = Vector2( 31.9147, 31.9147 )
16/shapes = [ ]
16/one_way_collision_direction = Vector2( 0, 0 )
16/one_way_collision_max_depth = 0.0
17/name = "Rampa4"
17/texture = null
17/tex_offset = Vector2( 0, 0 )
17/material = null
17/modulate = Color( 1, 1, 1, 1 )
17/region = Rect2( 0, 256, 64, 64 )
17/occluder_offset = Vector2( 31.9147, 31.9147 )
17/occluder = null
17/navigation_offset = Vector2( 31.9147, 31.9147 )
17/navigation = null
17/shape_offset = Vector2( 31.9147, 31.9147 )
17/shapes = [ ]
17/one_way_collision_direction = Vector2( 0, 0 )
17/one_way_collision_max_depth = 0.0
18/name = "Tronco_up"
18/texture = null
18/tex_offset = Vector2( 0, 0 )
18/material = null
18/modulate = Color( 1, 1, 1, 1 )
18/region = Rect2( 256, 64, 64, 64 )
18/occluder_offset = Vector2( 31.9147, 31.9147 )
18/occluder = null
18/navigation_offset = Vector2( 31.9147, 31.9147 )
18/navigation = null
18/shape_offset = Vector2( 31.9147, 31.9147 )
18/shapes = [ ]
18/one_way_collision_direction = Vector2( 0, 0 )
18/one_way_collision_max_depth = 0.0
19/name = "Tronco_down"
19/texture = null
19/tex_offset = Vector2( 0, 0 )
19/material = null
19/modulate = Color( 1, 1, 1, 1 )
19/region = Rect2( 256, 128, 64, 64 )
19/occluder_offset = Vector2( 32, 32 )
19/occluder = null
19/navigation_offset = Vector2( 32, 32 )
19/navigation = null
19/shape_offset = Vector2( 0, 0 )
19/shapes = [ ]
19/one_way_collision_direction = Vector2( 0, 0 )
19/one_way_collision_max_depth = 0.0
20/name = "Tocon_up"
20/texture = null
20/tex_offset = Vector2( 0, 0 )
20/material = null
20/modulate = Color( 1, 1, 1, 1 )
20/region = Rect2( 64, 384, 64, 64 )
20/occluder_offset = Vector2( 29, 32 )
20/occluder = null
20/navigation_offset = Vector2( 29, 32 )
20/navigation = null
20/shape_offset = Vector2( 29, 32 )
20/shapes = [ ]
20/one_way_collision_direction = Vector2( 0, 0 )
20/one_way_collision_max_depth = 0.0
21/name = "Tocon_down"
21/texture = null
21/tex_offset = Vector2( 0, 0 )
21/material = null
21/modulate = Color( 1, 1, 1, 1 )
21/region = Rect2( 64, 448, 64, 64 )
21/occluder_offset = Vector2( 32, 32 )
21/occluder = null
21/navigation_offset = Vector2( 32, 32 )
21/navigation = null
21/shape_offset = Vector2( 0, 0 )
21/shapes = [ ]
21/one_way_collision_direction = Vector2( 0, 0 )
21/one_way_collision_max_depth = 0.0
22/name = "Cochinada"
22/texture = null
22/tex_offset = Vector2( 0, 0 )
22/material = null
22/modulate = Color( 1, 1, 1, 1 )
22/region = Rect2( 192, 320, 64, 64 )
22/occluder_offset = Vector2( 32, 32 )
22/occluder = null
22/navigation_offset = Vector2( 32, 32 )
22/navigation = null
22/shape_offset = Vector2( 0, 0 )
22/shapes = [ ]
22/one_way_collision_direction = Vector2( 0, 0 )
22/one_way_collision_max_depth = 0.0
23/name = "Cochinada_left"
23/texture = null
23/tex_offset = Vector2( 0, 0 )
23/material = null
23/modulate = Color( 1, 1, 1, 1 )
23/region = Rect2( 128, 320, 64, 64 )
23/occluder_offset = Vector2( 32, 32 )
23/occluder = null
23/navigation_offset = Vector2( 32, 32 )
23/navigation = null
23/shape_offset = Vector2( 0, 0 )
23/shapes = [ ]
23/one_way_collision_direction = Vector2( 0, 0 )
23/one_way_collision_max_depth = 0.0
24/name = "Cochinada_right"
24/texture = null
24/tex_offset = Vector2( 0, 0 )
24/material = null
24/modulate = Color( 1, 1, 1, 1 )
24/region = Rect2( 256, 320, 64, 64 )
24/occluder_offset = Vector2( 32, 32 )
24/occluder = null
24/navigation_offset = Vector2( 32, 32 )
24/navigation = null
24/shape_offset = Vector2( 0, 0 )
24/shapes = [ ]
24/one_way_collision_direction = Vector2( 0, 0 )
24/one_way_collision_max_depth = 0.0
25/name = "Cochinada_single"
25/texture = null
25/tex_offset = Vector2( 0, 0 )
25/material = null
25/modulate = Color( 1, 1, 1, 1 )
25/region = Rect2( 64, 320, 64, 64 )
25/occluder_offset = Vector2( 32, 32 )
25/occluder = null
25/navigation_offset = Vector2( 32, 32 )
25/navigation = null
25/shape_offset = Vector2( 0, 0 )
25/shapes = [ ]
25/one_way_collision_direction = Vector2( 0, 0 )
25/one_way_collision_max_depth = 0.0
26/name = "Cochinada_alone"
26/texture = null
26/tex_offset = Vector2( 0, 0 )
26/material = null
26/modulate = Color( 1, 1, 1, 1 )
26/region = Rect2( 0, 320, 64, 64 )
26/occluder_offset = Vector2( 32, 32 )
26/occluder = null
26/navigation_offset = Vector2( 32, 32 )
26/navigation = null
26/shape_offset = Vector2( 0, 0 )
26/shapes = [ ]
26/one_way_collision_direction = Vector2( 0, 0 )
26/one_way_collision_max_depth = 0.0
27/name = "Tocon2_up"
27/texture = null
27/tex_offset = Vector2( 0, 0 )
27/material = null
27/modulate = Color( 1, 1, 1, 1 )
27/region = Rect2( 0, 384, 64, 64 )
27/occluder_offset = Vector2( 29, 32 )
27/occluder = null
27/navigation_offset = Vector2( 29, 32 )
27/navigation = null
27/shape_offset = Vector2( 29, 32 )
27/shapes = [ , ]
27/one_way_collision_direction = Vector2( 0, 0 )
27/one_way_collision_max_depth = 0.0
28/name = "Tocon2_down"
28/texture = null
28/tex_offset = Vector2( 0, 0 )
28/material = null
28/modulate = Color( 1, 1, 1, 1 )
28/region = Rect2( 0, 448, 64, 64 )
28/occluder_offset = Vector2( 32, 32 )
28/occluder = null
28/navigation_offset = Vector2( 32, 32 )
28/navigation = null
28/shape_offset = Vector2( 0, 0 )
28/shapes = [ ]
28/one_way_collision_direction = Vector2( 0, 0 )
28/one_way_collision_max_depth = 0.0
29/name = "Tronco_largo_up"
29/texture = null
29/tex_offset = Vector2( 0, 0 )
29/material = null
29/modulate = Color( 1, 1, 1, 1 )
29/region = Rect2( 192, 384, 64, 64 )
29/occluder_offset = Vector2( 29, 32 )
29/occluder = null
29/navigation_offset = Vector2( 29, 32 )
29/navigation = null
29/shape_offset = Vector2( 29, 32 )
29/shapes = [ , ]
29/one_way_collision_direction = Vector2( 0, 0 )
29/one_way_collision_max_depth = 0.0
30/name = "Tronco_largo_init"
30/texture = null
30/tex_offset = Vector2( 0, 0 )
30/material = null
30/modulate = Color( 1, 1, 1, 1 )
30/region = Rect2( 256, 384, 64, 64 )
30/occluder_offset = Vector2( 29, 32 )
30/occluder = null
30/navigation_offset = Vector2( 29, 32 )
30/navigation = null
30/shape_offset = Vector2( 29, 32 )
30/shapes = [ , ]
30/one_way_collision_direction = Vector2( 0, 0 )
30/one_way_collision_max_depth = 0.0
31/name = "Tronco_largo_tiling"
31/texture = null
31/tex_offset = Vector2( 0, 0 )
31/material = null
31/modulate = Color( 1, 1, 1, 1 )
31/region = Rect2( 0, 512, 64, 64 )
31/occluder_offset = Vector2( 29, 32 )
31/occluder = null
31/navigation_offset = Vector2( 29, 32 )
31/navigation = null
31/shape_offset = Vector2( 29, 32 )
31/shapes = [ ]
31/one_way_collision_direction = Vector2( 0, 0 )
31/one_way_collision_max_depth = 0.0
32/name = "Tronco_largo_end"
32/texture = null
32/tex_offset = Vector2( 0, 0 )
32/material = null
32/modulate = Color( 1, 1, 1, 1 )
32/region = Rect2( 64, 512, 64, 64 )
32/occluder_offset = Vector2( 29, 32 )
32/occluder = null
32/navigation_offset = Vector2( 29, 32 )
32/navigation = null
32/shape_offset = Vector2( 29, 32 )
32/shapes = [ ]
32/one_way_collision_direction = Vector2( 0, 0 )
32/one_way_collision_max_depth = 0.0
33/name = "Tronco_rama_right"
33/texture = null
33/tex_offset = Vector2( 0, 0 )
33/material = null
33/modulate = Color( 1, 1, 1, 1 )
33/region = Rect2( 128, 512, 64, 64 )
33/occluder_offset = Vector2( 29, 32 )
33/occluder = null
33/navigation_offset = Vector2( 29, 32 )
33/navigation = null
33/shape_offset = Vector2( 29, 32 )
33/shapes = [ , , , ]
33/one_way_collision_direction = Vector2( 0, 1 )
33/one_way_collision_max_depth = 1.0
34/name = "Tronco_rama_left"
34/texture = null
34/tex_offset = Vector2( 0, 0 )
34/material = null
34/modulate = Color( 1, 1, 1, 1 )
34/region = Rect2( 256, 512, 64, 64 )
34/occluder_offset = Vector2( 29, 32 )
34/occluder = null
34/navigation_offset = Vector2( 29, 32 )
34/navigation = null
34/shape_offset = Vector2( 29, 32 )
34/shapes = [ , , , ]
34/one_way_collision_direction = Vector2( 0, 1 )
34/one_way_collision_max_depth = 1.0
35/name = "Rama_end_right"
35/texture = null
35/tex_offset = Vector2( 0, 0 )
35/material = null
35/modulate = Color( 1, 1, 1, 1 )
35/region = Rect2( 192, 512, 64, 64 )
35/occluder_offset = Vector2( 29, 32 )
35/occluder = null
35/navigation_offset = Vector2( 29, 32 )
35/navigation = null
35/shape_offset = Vector2( 29, 32 )
35/shapes = [ ]
35/one_way_collision_direction = Vector2( 0, 1 )
35/one_way_collision_max_depth = 20.0
36/name = "Rama_end_left"
36/texture = null
36/tex_offset = Vector2( 0, 0 )
36/material = null
36/modulate = Color( 1, 1, 1, 1 )
36/region = Rect2( 256, 448, 64, 64 )
36/occluder_offset = Vector2( 29, 32 )
36/occluder = null
36/navigation_offset = Vector2( 29, 32 )
36/navigation = null
36/shape_offset = Vector2( 29, 32 )
36/shapes = [ ]
36/one_way_collision_direction = Vector2( 0, 1 )
36/one_way_collision_max_depth = 20.0
37/name = "Rama"
37/texture = null
37/tex_offset = Vector2( 0, 0 )
37/material = null
37/modulate = Color( 1, 1, 1, 1 )
37/region = Rect2( 0, 576, 64, 64 )
37/occluder_offset = Vector2( 29, 32 )
37/occluder = null
37/navigation_offset = Vector2( 29, 32 )
37/navigation = null
37/shape_offset = Vector2( 29, 32 )
37/shapes = [ ]
37/one_way_collision_direction = Vector2( 0, 1 )
37/one_way_collision_max_depth = 1.0
38/name = "Tronco_rama_doble"
38/texture = null
38/tex_offset = Vector2( 0, 0 )
38/material = null
38/modulate = Color( 1, 1, 1, 1 )
38/region = Rect2( 64, 576, 64, 64 )
38/occluder_offset = Vector2( 29, 32 )
38/occluder = null
38/navigation_offset = Vector2( 29, 32 )
38/navigation = null
38/shape_offset = Vector2( 29, 32 )
38/shapes = [ , , , , , ]
38/one_way_collision_direction = Vector2( 0, 1 )
38/one_way_collision_max_depth = 1.0
39/name = "hoja_1"
39/texture = null
39/tex_offset = Vector2( 0, 0 )
39/material = null
39/modulate = Color( 1, 1, 1, 1 )
39/region = Rect2( 0, 640, 64, 64 )
39/occluder_offset = Vector2( 32, 32 )
39/occluder = null
39/navigation_offset = Vector2( 32, 32 )
39/navigation = null
39/shape_offset = Vector2( 0, 0 )
39/shapes = [ ]
39/one_way_collision_direction = Vector2( 0, 0 )
39/one_way_collision_max_depth = 0.0
40/name = "hoja_2"
40/texture = null
40/tex_offset = Vector2( 0, 0 )
40/material = null
40/modulate = Color( 1, 1, 1, 1 )
40/region = Rect2( 64, 640, 64, 64 )
40/occluder_offset = Vector2( 32, 32 )
40/occluder = null
40/navigation_offset = Vector2( 32, 32 )
40/navigation = null
40/shape_offset = Vector2( 0, 0 )
40/shapes = [ ]
40/one_way_collision_direction = Vector2( 0, 0 )
40/one_way_collision_max_depth = 0.0
41/name = "hoja_3"
41/texture = null
41/tex_offset = Vector2( 0, 0 )
41/material = null
41/modulate = Color( 1, 1, 1, 1 )
41/region = Rect2( 128, 640, 64, 64 )
41/occluder_offset = Vector2( 32, 32 )
41/occluder = null
41/navigation_offset = Vector2( 32, 32 )
41/navigation = null
41/shape_offset = Vector2( 0, 0 )
41/shapes = [ ]
41/one_way_collision_direction = Vector2( 0, 0 )
41/one_way_collision_max_depth = 0.0
42/name = "hoja_4"
42/texture = null
42/tex_offset = Vector2( 0, 0 )
42/material = null
42/modulate = Color( 1, 1, 1, 1 )
42/region = Rect2( 0, 704, 64, 64 )
42/occluder_offset = Vector2( 32, 32 )
42/occluder = null
42/navigation_offset = Vector2( 32, 32 )
42/navigation = null
42/shape_offset = Vector2( 0, 0 )
42/shapes = [ ]
42/one_way_collision_direction = Vector2( 0, 0 )
42/one_way_collision_max_depth = 0.0
43/name = "hoja_5"
43/texture = null
43/tex_offset = Vector2( 0, 0 )
43/material = null
43/modulate = Color( 1, 1, 1, 1 )
43/region = Rect2( 64, 704, 64, 64 )
43/occluder_offset = Vector2( 32, 32 )
43/occluder = null
43/navigation_offset = Vector2( 32, 32 )
43/navigation = null
43/shape_offset = Vector2( 0, 0 )
43/shapes = [ ]
43/one_way_collision_direction = Vector2( 0, 0 )
43/one_way_collision_max_depth = 0.0
44/name = "hoja_6"
44/texture = null
44/tex_offset = Vector2( 0, 0 )
44/material = null
44/modulate = Color( 1, 1, 1, 1 )
44/region = Rect2( 128, 704, 64, 64 )
44/occluder_offset = Vector2( 32, 32 )
44/occluder = null
44/navigation_offset = Vector2( 32, 32 )
44/navigation = null
44/shape_offset = Vector2( 0, 0 )
44/shapes = [ ]
44/one_way_collision_direction = Vector2( 0, 0 )
44/one_way_collision_max_depth = 0.0
45/name = "hoja_7"
45/texture = null
45/tex_offset = Vector2( 0, 0 )
45/material = null
45/modulate = Color( 1, 1, 1, 1 )
45/region = Rect2( 192, 704, 64, 64 )
45/occluder_offset = Vector2( 32, 32 )
45/occluder = null
45/navigation_offset = Vector2( 32, 32 )
45/navigation = null
45/shape_offset = Vector2( 0, 0 )
45/shapes = [ ]
45/one_way_collision_direction = Vector2( 0, 0 )
45/one_way_collision_max_depth = 0.0
46/name = "hoja_8"
46/texture = null
46/tex_offset = Vector2( 0, 0 )
46/material = null
46/modulate = Color( 1, 1, 1, 1 )
46/region = Rect2( 256, 576, 64, 64 )
46/occluder_offset = Vector2( 32, 32 )
46/occluder = null
46/navigation_offset = Vector2( 32, 32 )
46/navigation = null
46/shape_offset = Vector2( 0, 0 )
46/shapes = [ ]
46/one_way_collision_direction = Vector2( 0, 0 )
46/one_way_collision_max_depth = 0.0

View file

@ -1 +1 @@
,darias,darias-laptop,26.02.2018 03:16,file:///home/darias/.config/libreoffice/4;
,darias,darias-laptop,19.10.2018 06:24,file:///home/darias/.config/libreoffice/4;

View file

@ -1,87 +1,178 @@
id,es,en
PLAY_GAME,Jugar,Play
SETTINGS,Ajustes,Settings
ABOUT,Info,About
SWITCH_SCREEN_CONTROLS,Usar botones táctiles,Use onsceen controls
BTTN_BACK,Volver,Back
TEXT_LICENSE,"El código fuente de este juego está licenciado bajo Geneal Public License versión 3. Todos los recursos gráficos, sonidos y música han sido creados por nosotos y están licenciados como Creative Commons Attribution-NonCommercial-ShareAlike 4.0. La tipografía utilizada es Press Start 2P creada por CodeMan38 (Open Font License)
id,es,en,de,EXPLANATIONS
PLAY_GAME,Jugar,Play,Starten,
SETTINGS,Ajustes,Settings,Optionen,
ABOUT,Info,About,Über,
SWITCH_SCREEN_CONTROLS,Usar botones táctiles,Use onscreen controls,Touch-Steuerung anzeigen,
SWITCH_RETRO_EFFECT,Simular pantalla retro,Simulate retro TV,Röhrenfernseher simulieren,
SWITCH_MUSIC,Música,Music,Musik,
SWITCH_SOUND,Sonidos,Sound,Ton,
SWITCH_BOTTOM_PARTICLES,Resaltar final del nivel,Show level end,,
BTTN_BACK,Volver,Back,Zurück,
TEXT_LICENSE,"El código fuente de este juego está licenciado bajo Geneal Public License versión 3. Todos los recursos gráficos, sonidos y música han sido creados por nosotros y están licenciados como Creative Commons Attribution-Non Commercial-Share Alike 4.0. La tipografía utilizada es Press Start 2P creada por CodeMan38 (Open Font License)
Puedes obtener el código fuente y los recusos en gitlab.com/dariasteam/cows-revenge
Hecho en Godot Engine 2.1.5 (MIT)","This game's code is licensed under General Public License version 3. All the graphics, sounds and music resources were made by us and are published under Creative Commons Attribution-onCommercial-ShareAlike 4.0 International. Font is Press Start 2P by CodeMan38 (Open Font License)
Hecho en Godot Engine 2.1.5 (MIT)","This game's code is licensed as General Public License version 3. All the graphics, sounds and music resources were made by us and are published as Creative Commons Attribution-Non Commercial-Share Alike 4.0 International. Font is Press Start 2P by CodeMan38 (Open Font License)
You can get the source code and assets at gitlab.com/dariasteam/cows-revenge
Made with Godot Engine 2.1.5 (MIT)
"
CHAPTERS,Capítulos,Chapters
EP1,La escuela,The school
EP2,Gatear antes de caminar,Crawl before you walk
EP3,Independizándose,Independence
EP4,Una ubre y sus consecuencias,An udder and her consequences
EP5,Siempre fiel,Always faithful
EP6,Ucronía,Ucrony
UFO_JAIL_COUNTER,Vuelve cuando hayas salvado a todas las gallinas. Te quedan: ,Come back when you have rescued all the hen. Remaining:
","Der Code dieses Spiels ist unter der General Public License Version 3 lizensiert. Alle Grafiken, Klänge und Musikstücke wurden von uns erstellt und unter Creative Commons Attribution-Non Commercial-Share Alike 4.0 International veröffentlicht. Als Schriftart wird Press Start 2P von CodeMan38 unter der Open Font License verwendet.
Der Quell-Code und alle weiteren Materialien stehen unter gitlab.com/dariasteam/cows-revenge zur Verfügung.
Erstellt mit Godot Engine 2.1.5 (MIT)",
CHAPTERS,Capítulos,Chapters,Kapitel,
EP1,La escuela,The school,Die Schule,
EP2,Gatear antes de caminar,Crawl before you walk,"Erst krabbeln, dann laufen",
EP3,Independizándose,Independence,Unabhängigkeit,
EP4,Una ubre y sus consecuencias,An udder and her consequences,Ein Euter und seine Folgen,
EP5,Siempre fiel,Always faithful,Immer treu,
EP6,Ucronía,Uchronia,Uchronie,
EP7,Sístole y Diástole,Systole and Diastole,Systole und Diastole,
EP8,Anfibios,Amphibious,Amphibisch,
EP9,R.U.B.E.N,R.U.B.E.N,R.U.B.E.N,
UFO_JAIL_COUNTER,Vuelve cuando hayas salvado a todas las gallinas. Te quedan: ,Come back when you have rescued all the hens. Remaining:,Komm wieder wenn du alle Hennen gerettet hast. Verbleibend: ,
DANIEL_INFO,"dariasteam94@gmail.com
Mastodo.social/@darias
Mastodon.social/@darias
- Código
- Gráficos
- Música
- Animaciones","dariasteam94@gmail.com
Mastodo.social/@darias
mastodon.social/@darias
- Code
- Sprites
- Music
- Animations"
- Animations","dariasteam94@gmail.com
Mastodon.social/@darias
- Code
- Sprites
- Musik
- Animationen",
YANARA_INFO,"needafreefall-@hotmail.com
twitter.com/yanarona
instagam.com/yanarona
twitter.com/yanaronna
instagam.com/yanaronna
- Gráficos
- Animaciones
- Diseño de personajes","needafreefall-@hotmail.com
twitter.com/yanarona
instagam.com/yanarona
twitter.com/yanaronna
instagam.com/yanaronna
- Sprites
- Animations
- Character design"
BUY_HEART,Corazón,Heart
BUY_MILK,Leche,Milk
BTTN_LIFTOFF,Despegar,Liftoff
BTTN_RESUME,Reanudar,Resume
BTTN_RESET,Reiniciar,Reset
BTTN_EXIT,Salir,Exit
BTTN_RESET_LEVEL,Reiniciar nivel,Reset level
BTTN_MAIN_MENU,Ir al menú principal,Go to main menu
TUT_0,Este camino está bloqueado. Busca otra forma de desplazarte.,This way is blocked. Find another path.
TUT_1,Utiliza las teclas de dirección para moverte,Use arrows buttons to move
TUT_2,Pulsa A o el botón del resorte para saltar por encima de estos bloques.,Press A or the spring button to jump above these blocks
TUT_3,Puedes subir a las ramas de los árboles saltando desde abajo,You can climb to the branches jumping from below
TUT_4,Salta!,Jump!
TUT_5,Puedes volver a bajar pulsando abajo,You can go down by pessing down button
TUT_6,"Recoge cencerros para obtener mejoras.
",Collect cowbells to obtain upgrades
TUT_7,Bien hecho!,Well done!
- Character design","needafreefall-@hotmail.com
twitter.com/yanaronna
instagam.com/yanaronna
- Sprites
- Animationen
- Charaktergestaltung",
BUY_HEART,Corazón,Heart,Herz,
BUY_MILK,Leche,Milk,Milch,
BTTN_LIFTOFF,Despegar,Liftoff,Abheben,
BTTN_RESUME,Reanudar,Resume,Fortfahren,
BTTN_RESET,Reiniciar,Reset,Zurücksetzen,
BTTN_EXIT,Salir,Exit,Verlassen,
BTTN_RESET_LEVEL,Reiniciar nivel,Reset level,Ebene zurücksetzen,
BTTN_MAIN_MENU,Ir al menú principal,Go to main menu,Zum Hauptmenü,
UFO_STORE,UFO Store,UFO Store,UFO Store,
TUT_0,Este camino está bloqueado. Busca otra forma de desplazarte.,This way is blocked. Find another path.,Dieser weg ist versperrt. Finde einen anderen.,
TUT_1,Utiliza las teclas de dirección para moverte,Use arrows buttons to move,Laufe mit den Pfeiltasten,
TUT_2,Pulsa A o el botón del resorte para saltar por encima de estos bloques.,Press A or the space button to jump above these blocks,Drücke A oder die Leertaste um über diese Blöcke zu springen,
TUT_3,Puedes subir a las ramas de los árboles saltando desde abajo,You can climb to the branches jumping from below,Kletter auf Zweige indem du von unten hochspringst,
TUT_4,Salta!,Jump!,Spring!,
TUT_5,Puedes volver a bajar pulsando abajo,You can go down by pressing down button,Drücke nach unten um dich fallen zu lassen,
TUT_6,"Recoge cencerros para comprar mejoras.
",Collect cowbells and buy upgrades,Sammel Kuhglocken um dir Verbesserungen zu kaufen,
TUT_7,Bien hecho!,Well done!,Gut gemacht!,
TUT_8,"Si recoges muchos cencerros en muy poco tiempo conseguirás bonificaciones!
",If you collect a lot of cowbells quickly you'll obtain bonifications
",If you collect a lot of cowbells quickly you'll gain a bonus,"Wenn du schnell viele Kuhglocken sammelst, erhältst du einen Bonus",
TUT_9,"Puedes guardar los cencerros en la nave volviendo a ella para ser abducido en cualquier momento.
",You can store the cowbells in the space ship by going back to it to be abducted anytime
",You can store the cowbells in the space ship by going back to it to be abducted anytime,Du kannst Kuhglocken im UFO bunkern wenn du zurückkehrst und dich erneut entführen lässt,
TUT_10,"A veces es más seguro no continuar avanzando si nada indica que el camino continúa
",Sometimes is safer to stop if you see the path finishing
TUT_11,"Esta vez era broma, pero no vuelvas a hacerlo!",It was joke
TUT_12,"¡Cuidado! Eso que ves es un carnicero, para aniquilarlo salta sobre su cabeza","Cuation! That is a butcher, jump on his head to annihilate him."
",Sometimes is safer to stop if you see the path finishing,"Manchmal ist es sicherer anzuhalten, wenn du merkst dass der Weg endet",
TUT_11,"Esta vez era broma, pero no vuelvas a hacerlo!",It was joke ,"War nur ein Scherz, aber pass nächstes Mal mehr auf",
TUT_12,"¡Cuidado! Eso que ves es un carnicero, para aniquilarlo salta sobre su cabeza","Caution! That is a butcher, jump on his head to defeat him.","Achtung! Dort ist ein Metzger, springe auf seinen Kopf um ihn zu besiegen",
TUT_13,"Si has perdido vida puedes recuperarla recogiendo corazones
",You can restore your life taking hearts
",You can recover your life with hearts,Du kannst deine Leben mit Herzen widerherstellen,
TUT_14,"Recoge manzanas para poder producir leche con la que atacar
",Collect apples to produce milk to attack
",Collect apples to produce milk and being able to attack,Sammel Äpfel um Milch zu produzieren and angreifen zu können,
TUT_15,"Ataca con la tecla S o el botón de la ubre. Conmuta entre leche desnatada o semidesnatada con R o el botón en blanco.
",Press S or the udder button to attack. Change between skimmed and semi skimmed milk with R or the black button
TUT_16,"Menudo pasillo más largo, ¿eh?","Such a long corridor, uh?"
TUT_17,Rompe la jaula acercándote a ella para liberar a los animales,Break the cage by touching it to free the animals
TUT_18,Vuelve a la nave y pulsa la tecla arriba para ser abducido,Get back to the ship and press up to be abducted
TUT_19,En este juego NO respetamos las leyes de la física. Puedes saltar y en el aire modificar tu dirección.,In this game we DON'T obey the laws of physics. You can jump and change your direction in the air.
MAP3_TEXT0,A veces la maleza es tan densa que te impide ver. ¡Abre bien los ojos!,Sometimes the bushes is so dense don't allow you to see beyond. Keep your ayes open!
",Press S or the udder button to attack. Change between skimmed and semi-skimmed milk with R or the black button,Drücke S oder den Euter-Knopf um anzugreifen. Wechsel zwischen Magermilch und fettarmer Milch mit R oder dem schwarzen Knopf,
TUT_16,"Menudo pasillo más largo, ¿eh?","Such a long corridor, uh?","Was ein langer Gang, ne?",
TUT_17,Rompe la jaula acercándote a ella para liberar a los animales,Break the cage by touching it and free the animals,Breche den Käfig auf indem du ihn berührst und befreie die Tiere,
TUT_18,Vuelve a la nave y pulsa la tecla arriba para ser abducido,Get back to the ship and press up to be abducted,Gehe zurück ins UFO indem du Hoch drückst und dich entführen lässt,
TUT_19,En este juego NO respetamos las leyes de la física. Puedes saltar y en el aire modificar tu dirección.,In this game we DON'T obey the laws of physics. You can jump and change your direction in the air.,In diesem Spiel folgen wir den Gesetzen der Physik NICHT. Während du springst kannst du in der Luft die Richtung ändern,
MAP3_TEXT0,A veces la maleza es tan densa que te impide ver. ¡Abre bien los ojos!,Sometimes the bushes is so dense don't allow you to see beyond. Keep your eyes open!,"Manche Büsche sind so dicht, dass man nicht durch sie hindurchsehen kann. Halte die Augen offen!",
,,,,
,,,,
,,,,
CHICKEN_ADVICE_0,Vamos señores wuuu!,Cmon! Yeehaw,Auf gehts! Vollgas!,LITERAL_TRANSLATION
CHICKEN_ADVICE_1,Los astronautas no existen,Nasa is a lie,Die Mondlandung war nachgedreht,MEME (flat eartch and nasa conspiracy)
CHICKEN_ADVICE_2,e=mc²,e=mc²,e=mc²,KEEP
CHICKEN_ADVICE_3,e_e,e_e,e_e,KEEP
CHICKEN_ADVICE_4,Wiii,Wiii,Wiii,"LITERAL_TRANSLATION (its like a sound, not the console)"
CHICKEN_ADVICE_5,cocococo,cluck cluck cluck cluck,gack gack gack gack,LITERAL_TRANSLATION (sound made by a hen)
CHICKEN_ADVICE_6,Zzz...,Zzz…,-,LITERAL_TRANSLATION (sound for sleep)
CHICKEN_ADVICE_7,¡Ya era hora!,It was about time!,Wurde aber auch Zeit!,LITERAL_TRANSLATION
CHICKEN_ADVICE_8,:D,:D,:D,KEEP
CHICKEN_ADVICE_9,#NotAllMen,#NotAllMen,#NotAllMen,KEEP
CHICKEN_ADVICE_10,Aléjate primo aléjate,Get out of this place,Verpiss dich von meinem Körper!,LITERAL_TRANSLATION
CHICKEN_ADVICE_11,Efectivamente,Indeed,Tatsächlich,LITERAL_TRANSLATION
CHICKEN_ADVICE_12,Porque quiero que sepas que tú para mi eres un amigo pa siempre,I want you to know that for me you are a true friend forever,"Du musst wissen, wirst ",SIMILAR_TRANSLATION (what a drunk person would say to his best friend)
CHICKEN_ADVICE_13,La gravedad no existe,The earth is flat,Die Erde ist eine Scheibe,MEME (flat eartch and nasa conspiracy)
CHICKEN_ADVICE_14,La caida de la gran babilonia,Tim's your uncle,,MEME (random)
CHICKEN_ADVICE_15,FUAAAA!!,Zzz…,,MEME (random)
CHICKEN_ADVICE_16,Tú no me mandas,I dont receive orders from you,Ich lass mir von dir nichts sagen,LITERAL_TRANSLATION
CHICKEN_ADVICE_17,:C,:C,:C,KEEP
CHICKEN_ADVICE_18,No te pongas nervioso,Dont get nervous,Nicht nervös werden,LITERAL_TRANSLATION
CHICKEN_ADVICE_19,¿Dónde está la contaminacion que yo la vea?,"Will, will Will will Will Wills will?",,MEME (random)
CHICKEN_ADVICE_20,seh seh seh seh,yep yep yep,,LITERAL_TRANSLATION (say yes a lot of times)
CHICKEN_ADVICE_21,Tu crees que arcadio va a llevar el coche al para?,,,MEME (random)
CHICKEN_ADVICE_22,La psicología es útil,The psychology is useful,Die Psychologie ist nützlich,MEME (random)
CHICKEN_ADVICE_23,C++ > Java,C++ > Java,C++ > Java,KEEP
CHICKEN_ADVICE_24,GNUs Not Unix,GNUs Not Unix,GNUs Not Unix,KEEP
CHICKEN_ADVICE_25,Salchichas comodoro,Are you talkin to me?,,MEME (random)
CHICKEN_ADVICE_26,Ostia el workbook!,And I say HEEEEEEEYYYY Whats going on?,,MEME (random)
CHICKEN_ADVICE_27,Macarrones con tomatico ,ring ring ring ring ring ring ring BANANA PHONE!,Ich esse gerne Sauerkraut und tanze gerne Polka,MEME (random)
CHICKEN_ADVICE_28,Yo soy tu padre,I am your father,Ich bin dein Vater,LITERAL_TRANSLATION
CHICKEN_ADVICE_29,No quiero hablar contigo,I dont wanna talk to you,Ich will nicht mit dir reden,LITERAL_TRANSLATION
CHICKEN_ADVICE_30,Déjame en paz,Let me alone,Lass mich in Frieden,LITERAL_TRANSLATION
CHICKEN_ADVICE_31,...,,,KEEP
CHICKEN_ADVICE_32,La oronja verde o amanita phalloides es el hongo más venenoso del mundo,Amanita phalloides or death cap is the most poisonous fungi in the world,Der Grüne Knollenblätterpilz oder Grüne Gift-Wulstling ist der giftigste Pilz der Welt,LITERAL_TRANSLATION
CHICKEN_ADVICE_33,Poesía eres tú,You are poetry,,SIMILAR_TRANSLATION (the original is a sentence from a spanish poem)
CHICKEN_ADVICE_34,Illuminati confirmed,Illuminati confirmed,,KEEP
CHICKEN_ADVICE_35,Soy dueño de la canaca,I have to go to Walmart,,MEME (random)
CHICKEN_ADVICE_36,Yo soy un pollo cobarde,But will it blend?,,MEME (random)
CHICKEN_ADVICE_37,"¡Macrocéfalo, anfitrión, Rocambole, ectoplasma, filoxera, caníbal!",Billions of blue blistering boiled and barbecued barnacles!,,SIMILAR_TRANSLATION (some random insults of Captain Haddock from tintin series )
CHICKEN_ADVICE_38,"Para pasar a binario solo debes dividir entre 2, el resultado son los restos ordenados al revés","To change a number to binary you only have to divide it by 2, the result are the remainings in inverse order",,LITERAL_TRANSLATION
CHICKEN_ADVICE_39,Si no estás conmigo eres mi enemigo,If you are not with me then you are my enemy,,LITERAL_TRANSLATION
CHICKEN_ADVICE_40,Mírame a los ojos cuando te hablo,Look at my eyes when i'm talking to you,,LITERAL_TRANSLATION
CHICKEN_ADVICE_41,¡Duro con ellos!,Go and get hard on them!,,LITERAL_TRANSLATION
CHICKEN_ADVICE_42,"Rambo está en la trinchera, tiene una herida de bala en la pierna",I cant feel my legs!,,SIMILAR_TRANSLATION (a sentence from the rambo saga)
CHICKEN_ADVICE_43,Sosio aflójate un eurito ahí,Hey man give me a buck plz,,SIMILAR_TRANSLATION (the thing a yonki would say asking you money)
CHICKEN_ADVICE_44,"Mira no más, esta cara, este cuerpo. Tú jamás tendrás este cuerpo","Oh dear look at my pretty face, isn't it fabulous?",,SIMILAR_TRANSLATION (the thing a very egotistical person would say about how beautifull face or body has)
CHICKEN_ADVICE_45,¡Mi pueblo se muere por falta de conocimiento!,Checkmate atheist!,,MEME (random)
CHICKEN_ADVICE_46,"Y volé de él, y él voló allá por la arbolada",I believe I can flyyy,,MEME (random)
CHICKEN_ADVICE_47,Yo soy un pirata y tu mente es el mar y la psicología es mi barco,Im a pirate and your mind is the sea and the psichology is my boat,,MEME (random)
CHICKEN_ADVICE_48,"Si recomiendas a la gente usar homeopatía, te sugiero amablemente que te vayas a hacer puñetas",If water has memory then homeopathy is full of shit,,SIMILAR_TRANSLATION (homeopathy is a serious scam and health problem)
CHICKEN_ADVICE_49,"Si estás en un bosque y gritas y nadie te oye, ¿Por qué sigo suspendiendo Álgebra?","If you are in a forest a shout and no one hears you, why I keep failing Algebra?",,LITERAL_TRANSLATION (the phylosophicall problem of forest and sound but with my own problems in it)
CHICKEN_ADVICE_50,Deja de xorfirar anda,Stop xorfiring now,,MEME (random)
CHICKEN_ADVICE_51,Para mí será un placer vencerte,For me it would be a pleasure to defeat you,,SIMILAR_TRANSLATION (the thing a classic bad guy from a comic would say to the hero)
CHICKEN_ADVICE_52,No me toques que yo no te he tocao,Dont touch me cause I didn't touched you!,,LITERAL_TRANSLATION
CHICKEN_ADVICE_53,"A que no adivinas quién fue primero, ¿Mi huevo o yo?","I bet you can answer this, which was first, my egg or me?",,LITERAL_TRANSLATION (another phylosophicall question but tweaked to be said by a hen)
CHICKEN_ADVICE_54,"¡Ay vida mía, soy taaan desdichada!",I am soo unfortunate!,,LITERAL_TRANSLATION
CHICKEN_ADVICE_55,Ay quién tuviera la dicha que tiene el gallo,What does the fox say?,,MEME (veguely related with hens if possible)
CHICKEN_ADVICE_56,"¡Tengo miedo, tengo miedo, tengo miego, tengo muchísimo miedo!",Im so so so afraid!,,LITERAL_TRANSLATION
CHICKEN_ADVICE_57,"¿Y qué hago mi niño, me lo cargo al hombro?",Look at my horse my horse is amazing,,MEME (random)
CHICKEN_ADVICE_58,Eres un mago Harry,You're a wizard harry,Du bist ein Zauberer Harry,LITERAL_TRANSLATION
CHICKEN_ADVICE_59,Me hago pipí :/,I have to wee :/,Ich muss Pipi machen :/,LITERAL_TRANSLATION
CHICKEN_ADVICE_60,Dime algo que no sepa ya,Tell me something I didnt know,,LITERAL_TRANSLATION
CHICKEN_ADVICE_61,No puedo ni confirmar ni desmentir que yo sea un pollo,I can neither confirm nor deny Im a chicken,,LITERAL_TRANSLATION (joke with the CIA first tweet)
CHICKEN_ADVICE_62,Pienso luego existo,I think therefore I exist,,LITERAL_TRANSLATION (Cogito ergo sum)
CHICKEN_ADVICE_63,Pos coman pinocha,Yolooo,,MEME (random)

1 id es en de EXPLANATIONS
2 PLAY_GAME Jugar Play Starten
3 SETTINGS Ajustes Settings Optionen
4 ABOUT Info About Über
5 SWITCH_SCREEN_CONTROLS Usar botones táctiles Use onsceen controls Use onscreen controls Touch-Steuerung anzeigen
6 BTTN_BACK SWITCH_RETRO_EFFECT Volver Simular pantalla retro Back Simulate retro TV Röhrenfernseher simulieren
7 TEXT_LICENSE SWITCH_MUSIC El código fuente de este juego está licenciado bajo Geneal Public License versión 3. Todos los recursos gráficos, sonidos y música han sido creados por nosotos y están licenciados como Creative Commons Attribution-NonCommercial-ShareAlike 4.0. La tipografía utilizada es Press Start 2P creada por CodeMan38 (Open Font License) Puedes obtener el código fuente y los recusos en gitlab.com/dariasteam/cows-revenge Hecho en Godot Engine 2.1.5 (MIT) Música This game's code is licensed under General Public License version 3. All the graphics, sounds and music resources were made by us and are published under Creative Commons Attribution-onCommercial-ShareAlike 4.0 International. Font is Press Start 2P by CodeMan38 (Open Font License) You can get the source code and assets at gitlab.com/dariasteam/cows-revenge Made with Godot Engine 2.1.5 (MIT) Music Musik
8 SWITCH_SOUND Sonidos Sound Ton
9 SWITCH_BOTTOM_PARTICLES Resaltar final del nivel Show level end
10 BTTN_BACK Volver Back Zurück
11 TEXT_LICENSE El código fuente de este juego está licenciado bajo Geneal Public License versión 3. Todos los recursos gráficos, sonidos y música han sido creados por nosotros y están licenciados como Creative Commons Attribution-Non Commercial-Share Alike 4.0. La tipografía utilizada es Press Start 2P creada por CodeMan38 (Open Font License) Puedes obtener el código fuente y los recusos en gitlab.com/dariasteam/cows-revenge Hecho en Godot Engine 2.1.5 (MIT) This game's code is licensed as General Public License version 3. All the graphics, sounds and music resources were made by us and are published as Creative Commons Attribution-Non Commercial-Share Alike 4.0 International. Font is Press Start 2P by CodeMan38 (Open Font License) You can get the source code and assets at gitlab.com/dariasteam/cows-revenge Made with Godot Engine 2.1.5 (MIT) Der Code dieses Spiels ist unter der General Public License Version 3 lizensiert. Alle Grafiken, Klänge und Musikstücke wurden von uns erstellt und unter Creative Commons Attribution-Non Commercial-Share Alike 4.0 International veröffentlicht. Als Schriftart wird Press Start 2P von CodeMan38 unter der Open Font License verwendet. Der Quell-Code und alle weiteren Materialien stehen unter gitlab.com/dariasteam/cows-revenge zur Verfügung. Erstellt mit Godot Engine 2.1.5 (MIT)
12 CHAPTERS Capítulos Chapters Kapitel
13 EP1 La escuela The school Die Schule
14 EP2 Gatear antes de caminar Crawl before you walk Erst krabbeln, dann laufen
15 EP3 Independizándose Independence Unabhängigkeit
16 EP4 Una ubre y sus consecuencias An udder and her consequences Ein Euter und seine Folgen
17 EP5 Siempre fiel Always faithful Immer treu
18 EP6 Ucronía Ucrony Uchronia Uchronie
19 UFO_JAIL_COUNTER EP7 Vuelve cuando hayas salvado a todas las gallinas. Te quedan: Sístole y Diástole Come back when you have rescued all the hen. Remaining: Systole and Diastole Systole und Diastole
20 DANIEL_INFO EP8 dariasteam94@gmail.com Mastodo.social/@darias - Código - Gráficos - Música - Animaciones Anfibios dariasteam94@gmail.com Mastodo.social/@darias - Code - Sprites - Music - Animations Amphibious Amphibisch
21 YANARA_INFO EP9 needafreefall-@hotmail.com twitter.com/yanarona instagam.com/yanarona - Gráficos - Animaciones - Diseño de personajes R.U.B.E.N needafreefall-@hotmail.com twitter.com/yanarona instagam.com/yanarona - Sprites - Animations - Character design R.U.B.E.N R.U.B.E.N
22 BUY_HEART UFO_JAIL_COUNTER Corazón Vuelve cuando hayas salvado a todas las gallinas. Te quedan: Heart Come back when you have rescued all the hens. Remaining: Komm wieder wenn du alle Hennen gerettet hast. Verbleibend:
23 BUY_MILK DANIEL_INFO Leche dariasteam94@gmail.com Mastodon.social/@darias - Código - Gráficos - Música - Animaciones Milk dariasteam94@gmail.com mastodon.social/@darias - Code - Sprites - Music - Animations dariasteam94@gmail.com Mastodon.social/@darias - Code - Sprites - Musik - Animationen
24 BTTN_LIFTOFF YANARA_INFO Despegar needafreefall-@hotmail.com twitter.com/yanaronna instagam.com/yanaronna - Gráficos - Animaciones - Diseño de personajes Liftoff needafreefall-@hotmail.com twitter.com/yanaronna instagam.com/yanaronna - Sprites - Animations - Character design needafreefall-@hotmail.com twitter.com/yanaronna instagam.com/yanaronna - Sprites - Animationen - Charaktergestaltung
25 BTTN_RESUME BUY_HEART Reanudar Corazón Resume Heart Herz
26 BTTN_RESET BUY_MILK Reiniciar Leche Reset Milk Milch
27 BTTN_EXIT BTTN_LIFTOFF Salir Despegar Exit Liftoff Abheben
28 BTTN_RESET_LEVEL BTTN_RESUME Reiniciar nivel Reanudar Reset level Resume Fortfahren
29 BTTN_RESET Reiniciar Reset Zurücksetzen
30 BTTN_EXIT Salir Exit Verlassen
31 BTTN_RESET_LEVEL Reiniciar nivel Reset level Ebene zurücksetzen
32 BTTN_MAIN_MENU Ir al menú principal Go to main menu Zum Hauptmenü
33 UFO_STORE UFO Store UFO Store UFO Store
34 TUT_0 Este camino está bloqueado. Busca otra forma de desplazarte. This way is blocked. Find another path. Dieser weg ist versperrt. Finde einen anderen.
35 TUT_1 Utiliza las teclas de dirección para moverte Use arrows buttons to move Laufe mit den Pfeiltasten
36 BTTN_MAIN_MENU TUT_2 Ir al menú principal Pulsa A o el botón del resorte para saltar por encima de estos bloques. Go to main menu Press A or the space button to jump above these blocks Drücke A oder die Leertaste um über diese Blöcke zu springen
37 TUT_0 TUT_3 Este camino está bloqueado. Busca otra forma de desplazarte. Puedes subir a las ramas de los árboles saltando desde abajo This way is blocked. Find another path. You can climb to the branches jumping from below Kletter auf Zweige indem du von unten hochspringst
38 TUT_1 TUT_4 Utiliza las teclas de dirección para moverte Salta! Use arrows buttons to move Jump! Spring!
39 TUT_2 TUT_5 Pulsa A o el botón del resorte para saltar por encima de estos bloques. Puedes volver a bajar pulsando abajo Press A or the spring button to jump above these blocks You can go down by pressing down button Drücke nach unten um dich fallen zu lassen
40 TUT_3 TUT_6 Puedes subir a las ramas de los árboles saltando desde abajo Recoge cencerros para comprar mejoras. You can climb to the branches jumping from below Collect cowbells and buy upgrades Sammel Kuhglocken um dir Verbesserungen zu kaufen
41 TUT_4 TUT_7 Salta! Bien hecho! Jump! Well done! Gut gemacht!
42 TUT_5 TUT_8 Puedes volver a bajar pulsando abajo Si recoges muchos cencerros en muy poco tiempo conseguirás bonificaciones! You can go down by pessing down button If you collect a lot of cowbells quickly you'll gain a bonus Wenn du schnell viele Kuhglocken sammelst, erhältst du einen Bonus
43 TUT_6 TUT_9 Recoge cencerros para obtener mejoras. Puedes guardar los cencerros en la nave volviendo a ella para ser abducido en cualquier momento. Collect cowbells to obtain upgrades You can store the cowbells in the space ship by going back to it to be abducted anytime Du kannst Kuhglocken im UFO bunkern wenn du zurückkehrst und dich erneut entführen lässt
44 TUT_7 TUT_10 Bien hecho! A veces es más seguro no continuar avanzando si nada indica que el camino continúa Well done! Sometimes is safer to stop if you see the path finishing Manchmal ist es sicherer anzuhalten, wenn du merkst dass der Weg endet
45 TUT_8 TUT_11 Si recoges muchos cencerros en muy poco tiempo conseguirás bonificaciones! Esta vez era broma, pero no vuelvas a hacerlo! If you collect a lot of cowbells quickly you'll obtain bonifications It was joke War nur ein Scherz, aber pass nächstes Mal mehr auf
46 TUT_9 TUT_12 Puedes guardar los cencerros en la nave volviendo a ella para ser abducido en cualquier momento. ¡Cuidado! Eso que ves es un carnicero, para aniquilarlo salta sobre su cabeza You can store the cowbells in the space ship by going back to it to be abducted anytime Caution! That is a butcher, jump on his head to defeat him. Achtung! Dort ist ein Metzger, springe auf seinen Kopf um ihn zu besiegen
47 TUT_10 TUT_13 A veces es más seguro no continuar avanzando si nada indica que el camino continúa Si has perdido vida puedes recuperarla recogiendo corazones Sometimes is safer to stop if you see the path finishing You can recover your life with hearts Du kannst deine Leben mit Herzen widerherstellen
48 TUT_11 TUT_14 Esta vez era broma, pero no vuelvas a hacerlo! Recoge manzanas para poder producir leche con la que atacar It was joke Collect apples to produce milk and being able to attack Sammel Äpfel um Milch zu produzieren and angreifen zu können
49 TUT_15 Ataca con la tecla S o el botón de la ubre. Conmuta entre leche desnatada o semidesnatada con R o el botón en blanco. Press S or the udder button to attack. Change between skimmed and semi-skimmed milk with R or the black button Drücke S oder den Euter-Knopf um anzugreifen. Wechsel zwischen Magermilch und fettarmer Milch mit R oder dem schwarzen Knopf
50 TUT_16 Menudo pasillo más largo, ¿eh? Such a long corridor, uh? Was ein langer Gang, ne?
51 TUT_17 Rompe la jaula acercándote a ella para liberar a los animales Break the cage by touching it and free the animals Breche den Käfig auf indem du ihn berührst und befreie die Tiere
52 TUT_18 Vuelve a la nave y pulsa la tecla arriba para ser abducido Get back to the ship and press up to be abducted Gehe zurück ins UFO indem du Hoch drückst und dich entführen lässt
53 TUT_19 En este juego NO respetamos las leyes de la física. Puedes saltar y en el aire modificar tu dirección. In this game we DON'T obey the laws of physics. You can jump and change your direction in the air. In diesem Spiel folgen wir den Gesetzen der Physik NICHT. Während du springst kannst du in der Luft die Richtung ändern
54 MAP3_TEXT0 A veces la maleza es tan densa que te impide ver. ¡Abre bien los ojos! Sometimes the bushes is so dense don't allow you to see beyond. Keep your eyes open! Manche Büsche sind so dicht, dass man nicht durch sie hindurchsehen kann. Halte die Augen offen!
55 TUT_12 ¡Cuidado! Eso que ves es un carnicero, para aniquilarlo salta sobre su cabeza Cuation! That is a butcher, jump on his head to annihilate him.
56 TUT_13 Si has perdido vida puedes recuperarla recogiendo corazones You can restore your life taking hearts
57 TUT_14 Recoge manzanas para poder producir leche con la que atacar Collect apples to produce milk to attack
58 TUT_15 CHICKEN_ADVICE_0 Ataca con la tecla S o el botón de la ubre. Conmuta entre leche desnatada o semidesnatada con R o el botón en blanco. Vamos señores wuuu! Press S or the udder button to attack. Change between skimmed and semi skimmed milk with R or the black button C’mon! Yeehaw Auf geht’s! Vollgas! LITERAL_TRANSLATION
59 TUT_16 CHICKEN_ADVICE_1 Menudo pasillo más largo, ¿eh? Los astronautas no existen Such a long corridor, uh? Nasa is a lie Die Mondlandung war nachgedreht MEME (flat eartch and nasa conspiracy)
60 TUT_17 CHICKEN_ADVICE_2 Rompe la jaula acercándote a ella para liberar a los animales e=mc² Break the cage by touching it to free the animals e=mc² e=mc² KEEP
61 TUT_18 CHICKEN_ADVICE_3 Vuelve a la nave y pulsa la tecla arriba para ser abducido e_e Get back to the ship and press up to be abducted e_e e_e KEEP
62 TUT_19 CHICKEN_ADVICE_4 En este juego NO respetamos las leyes de la física. Puedes saltar y en el aire modificar tu dirección. Wiii In this game we DON'T obey the laws of physics. You can jump and change your direction in the air. Wiii Wiii LITERAL_TRANSLATION (its like a sound, not the console)
63 MAP3_TEXT0 CHICKEN_ADVICE_5 A veces la maleza es tan densa que te impide ver. ¡Abre bien los ojos! cocococo Sometimes the bushes is so dense don't allow you to see beyond. Keep your ayes open! cluck cluck cluck cluck gack gack gack gack LITERAL_TRANSLATION (sound made by a hen)
64 CHICKEN_ADVICE_6 Zzz... Zzz… - LITERAL_TRANSLATION (sound for sleep)
65 CHICKEN_ADVICE_7 ¡Ya era hora! It was about time! Wurde aber auch Zeit! LITERAL_TRANSLATION
66 CHICKEN_ADVICE_8 :D :D :D KEEP
67 CHICKEN_ADVICE_9 #NotAllMen #NotAllMen #NotAllMen KEEP
68 CHICKEN_ADVICE_10 Aléjate primo aléjate Get out of this place Verpiss dich von meinem Körper! LITERAL_TRANSLATION
69 CHICKEN_ADVICE_11 Efectivamente Indeed Tatsächlich LITERAL_TRANSLATION
70 CHICKEN_ADVICE_12 Porque quiero que sepas que tú para mi eres un amigo pa siempre I want you to know that for me you are a true friend forever Du musst wissen, wirst SIMILAR_TRANSLATION (what a drunk person would say to his best friend)
71 CHICKEN_ADVICE_13 La gravedad no existe The earth is flat Die Erde ist eine Scheibe MEME (flat eartch and nasa conspiracy)
72 CHICKEN_ADVICE_14 La caida de la gran babilonia Tim's your uncle MEME (random)
73 CHICKEN_ADVICE_15 FUAAAA!! Zzz… MEME (random)
74 CHICKEN_ADVICE_16 Tú no me mandas I don’t receive orders from you Ich lass mir von dir nichts sagen LITERAL_TRANSLATION
75 CHICKEN_ADVICE_17 :C :C :C KEEP
76 CHICKEN_ADVICE_18 No te pongas nervioso Don’t get nervous Nicht nervös werden LITERAL_TRANSLATION
77 CHICKEN_ADVICE_19 ¿Dónde está la contaminacion que yo la vea? Will, will Will will Will Will’s will? MEME (random)
78 CHICKEN_ADVICE_20 seh seh seh seh yep yep yep LITERAL_TRANSLATION (say yes a lot of times)
79 CHICKEN_ADVICE_21 Tu crees que arcadio va a llevar el coche al para? MEME (random)
80 CHICKEN_ADVICE_22 La psicología es útil The psychology is useful Die Psychologie ist nützlich MEME (random)
81 CHICKEN_ADVICE_23 C++ > Java C++ > Java C++ > Java KEEP
82 CHICKEN_ADVICE_24 GNU‘s Not Unix GNU‘s Not Unix GNU‘s Not Unix KEEP
83 CHICKEN_ADVICE_25 Salchichas comodoro Are you talkin‘ to me? MEME (random)
84 CHICKEN_ADVICE_26 Ostia el workbook! And I say HEEEEEEEYYYY Whats going on? MEME (random)
85 CHICKEN_ADVICE_27 Macarrones con tomatico ring ring ring ring ring ring ring BANANA PHONE! Ich esse gerne Sauerkraut und tanze gerne Polka MEME (random)
86 CHICKEN_ADVICE_28 Yo soy tu padre I am your father Ich bin dein Vater LITERAL_TRANSLATION
87 CHICKEN_ADVICE_29 No quiero hablar contigo I don’t wanna talk to you Ich will nicht mit dir reden LITERAL_TRANSLATION
88 CHICKEN_ADVICE_30 Déjame en paz Let me alone Lass mich in Frieden LITERAL_TRANSLATION
89 CHICKEN_ADVICE_31 ... KEEP
90 CHICKEN_ADVICE_32 La oronja verde o amanita phalloides es el hongo más venenoso del mundo Amanita phalloides or death cap is the most poisonous fungi in the world Der Grüne Knollenblätterpilz oder Grüne Gift-Wulstling ist der giftigste Pilz der Welt LITERAL_TRANSLATION
91 CHICKEN_ADVICE_33 Poesía eres tú You are poetry SIMILAR_TRANSLATION (the original is a sentence from a spanish poem)
92 CHICKEN_ADVICE_34 Illuminati confirmed Illuminati confirmed KEEP
93 CHICKEN_ADVICE_35 Soy dueño de la canaca I have to go to Walmart MEME (random)
94 CHICKEN_ADVICE_36 Yo soy un pollo cobarde But will it blend? MEME (random)
95 CHICKEN_ADVICE_37 ¡Macrocéfalo, anfitrión, Rocambole, ectoplasma, filoxera, caníbal! Billions of blue blistering boiled and barbecued barnacles! SIMILAR_TRANSLATION (some random insults of Captain Haddock from tintin series )
96 CHICKEN_ADVICE_38 Para pasar a binario solo debes dividir entre 2, el resultado son los restos ordenados al revés To change a number to binary you only have to divide it by 2, the result are the remainings in inverse order LITERAL_TRANSLATION
97 CHICKEN_ADVICE_39 Si no estás conmigo eres mi enemigo If you are not with me then you are my enemy LITERAL_TRANSLATION
98 CHICKEN_ADVICE_40 Mírame a los ojos cuando te hablo Look at my eyes when i'm talking to you LITERAL_TRANSLATION
99 CHICKEN_ADVICE_41 ¡Duro con ellos! Go and get hard on them! LITERAL_TRANSLATION
100 CHICKEN_ADVICE_42 Rambo está en la trinchera, tiene una herida de bala en la pierna I can’t feel my legs! SIMILAR_TRANSLATION (a sentence from the rambo saga)
101 CHICKEN_ADVICE_43 Sosio aflójate un eurito ahí Hey man give me a buck plz SIMILAR_TRANSLATION (the thing a yonki would say asking you money)
102 CHICKEN_ADVICE_44 Mira no más, esta cara, este cuerpo. Tú jamás tendrás este cuerpo Oh dear look at my pretty face, isn't it fabulous? SIMILAR_TRANSLATION (the thing a very egotistical person would say about how beautifull face or body has)
103 CHICKEN_ADVICE_45 ¡Mi pueblo se muere por falta de conocimiento! Checkmate atheist! MEME (random)
104 CHICKEN_ADVICE_46 Y volé de él, y él voló allá por la arbolada I believe I can flyyy MEME (random)
105 CHICKEN_ADVICE_47 Yo soy un pirata y tu mente es el mar y la psicología es mi barco I’m a pirate and your mind is the sea and the psichology is my boat MEME (random)
106 CHICKEN_ADVICE_48 Si recomiendas a la gente usar homeopatía, te sugiero amablemente que te vayas a hacer puñetas If water has memory then homeopathy is full of shit SIMILAR_TRANSLATION (homeopathy is a serious scam and health problem)
107 CHICKEN_ADVICE_49 Si estás en un bosque y gritas y nadie te oye, ¿Por qué sigo suspendiendo Álgebra? If you are in a forest a shout and no one hears you, why I keep failing Algebra? LITERAL_TRANSLATION (the phylosophicall problem of forest and sound but with my own problems in it)
108 CHICKEN_ADVICE_50 Deja de xorfirar anda Stop xorfiring now MEME (random)
109 CHICKEN_ADVICE_51 Para mí será un placer vencerte For me it would be a pleasure to defeat you SIMILAR_TRANSLATION (the thing a classic bad guy from a comic would say to the hero)
110 CHICKEN_ADVICE_52 No me toques que yo no te he tocao Don’t touch me cause I didn't touched you! LITERAL_TRANSLATION
111 CHICKEN_ADVICE_53 A que no adivinas quién fue primero, ¿Mi huevo o yo? I bet you can answer this, which was first, my egg or me? LITERAL_TRANSLATION (another phylosophicall question but tweaked to be said by a hen)
112 CHICKEN_ADVICE_54 ¡Ay vida mía, soy taaan desdichada! I am soo unfortunate! LITERAL_TRANSLATION
113 CHICKEN_ADVICE_55 Ay quién tuviera la dicha que tiene el gallo What does the fox say? MEME (veguely related with hens if possible)
114 CHICKEN_ADVICE_56 ¡Tengo miedo, tengo miedo, tengo miego, tengo muchísimo miedo! I’m so so so afraid! LITERAL_TRANSLATION
115 CHICKEN_ADVICE_57 ¿Y qué hago mi niño, me lo cargo al hombro? Look at my horse my horse is amazing MEME (random)
116 CHICKEN_ADVICE_58 Eres un mago Harry You're a wizard harry Du bist ein Zauberer Harry LITERAL_TRANSLATION
117 CHICKEN_ADVICE_59 Me hago pipí :/ I have to wee :/ Ich muss Pipi machen :/ LITERAL_TRANSLATION
118 CHICKEN_ADVICE_60 Dime algo que no sepa ya Tell me something I didn’t know LITERAL_TRANSLATION
119 CHICKEN_ADVICE_61 No puedo ni confirmar ni desmentir que yo sea un pollo I can neither confirm nor deny I’m a chicken LITERAL_TRANSLATION (joke with the CIA first tweet)
120 CHICKEN_ADVICE_62 Pienso luego existo I think therefore I exist LITERAL_TRANSLATION (Cogito ergo sum)
121 CHICKEN_ADVICE_63 Pos coman pinocha Yolooo MEME (random)
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178

BIN
Locales/locales.de.xl Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

56
Makefile Normal file
View file

@ -0,0 +1,56 @@
prefix ?= usr/local
DESTDIR :=
ICONSIZES := 64 128
BIT := $(shell getconf LONG_BIT)
define \n
endef
build/cowsrevenge: $(wildcard "Scenes/*/*") $(wildcard "Locales/*") $(wildcard "Sound/*") $(wildcard "Music/*") $(wildcard "Sprites/*") $(wildcard "Sprites/*/*") $(wildcard "Fonts/*") $(wildcard "Fonts/*/*") export.cfg engine.cfg d.tscn build/godot/bin/godot_server.server.opt.tools.$(BIT)
# put into self contained mode
touch build/godot/bin/._sc_
cd build/godot; scons -j `nproc` platform=x11 target=release bits=$(BIT) use_llvm=yes tools=no
mkdir -p build/godot/bin/editor_data/templates/
cp build/godot/bin/godot.x11*.llvm build/godot/bin/editor_data/templates/linux_x11_$(BIT)_release
build/godot/bin/godot_server.server.opt.tools.$(BIT) -export "Linux X11" build/cowsrevenge
#build engine
build/godot/bin/godot_server.server.opt.tools.$(BIT):
mkdir -p build
cd build; git clone -b 2.1 --single-branch https://github.com/godotengine/godot || true
cd build/godot; scons -j `nproc` platform=server target=release_debug bits=$(BIT) use_llvm=yes unix_global_settings_path=".."
.PHONY: install
install: build/cowsrevenge $(wildcard "linux_build/*")
install -d "$(DESTDIR)/$(prefix)/bin/"
install -d "$(DESTDIR)/$(prefix)/share/applications/"
install -d "$(DESTDIR)/$(prefix)/share/metainfo/"
install build/cowsrevenge "$(DESTDIR)/$(prefix)/bin/"
install -m644 linux_build/com.github.dariasteam.cowsrevenge.desktop "$(DESTDIR)/$(prefix)/share/applications/"
install linux_build/com.github.dariasteam.cowsrevenge.appdata.xml "$(DESTDIR)/$(prefix)/share/metainfo/"
#install icon files
$(foreach size,$(ICONSIZES),install -d "$(DESTDIR)/$(prefix)/share/icons/hicolor/$(size)x$(size)/apps/";$(\n))
$(foreach size,$(ICONSIZES),install -m644 "linux_build/cowsrevenge_icon_$(size).png" "$(DESTDIR)/$(prefix)/share/icons/hicolor/$(size)x$(size)/apps/com.github.dariasteam.cowsrevenge.png";$(\n))
#update databases if installed to system
ifeq ($(DESTDIR),)
-xdg-icon-resource forceupdate --mode system;
-xdg-desktop-menu forceupdate --mode system;
endif
.PHONY: uninstall
uninstall: "$(DESTDIR)/$(prefix)/bin/cowsrevenge"
rm "$(DESTDIR)/$(prefix)/bin/cowsrevenge"
rm "$(DESTDIR)/$(prefix)/share/applications/linux_build/com.github.dariasteam.cowsrevenge.desktop"
rm "$(DESTDIR)/$(prefix)/share/metainfo/linux_build/com.github.dariasteam.cowsrevenge.appdata.xml"
#remove icon files
$(foreach size,$(ICONSIZES),rm "$(DESTDIR)/$(prefix)/share/icons/hicolor/$(size)x$(size)/apps/com.github.dariasteam.cowsrevenge.png";$(\n))
#update databases if removed from system
ifeq ($(DESTDIR),)
-xdg-icon-resource forceupdate --mode system;
-xdg-desktop-menu forceupdate --mode system;
endif
.PHONY: clean
clean:
rm -rf build

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
Misc/itch.io_badge.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1,18 +1,30 @@
# Cow's Revenge ![](Sprites/Charasets/Player/idle/player_idle1.png)
# Cow's Revenge
![]()[![Download](Misc/itch.io_badge.png)](https://pipoypipagames.itch.io/cows-revenge)
<a href='https://flathub.org/apps/details/com.github.dariasteam.cowsrevenge'><img width='120' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>
<a href="https://f-droid.org/app/org.pipoypipagames.cowsrevenge">
<img src="https://f-droid.org/badge/get-it-on.png"
alt="Get it on F-Droid" height="60">
</a>
Casual platform game project for learning purposes. Made with [godot engine](https://godotengine.org/).
> You are a cow abducted and genetically improved by aliens which now have the opportunity to rebel against livestock industry by freeing the encaged hens and killing butchers. You used to be a regular cow raised as a dairy cow, but you ain't that anymore. You have become better. You are... THE COWEST.
Casual platform game project for learning purposes. Made with [godot engine 2.1.5](https://godotengine.org/).
Code licensed as [GPL v3](LICENSE_CODE), assets as [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/).
## Authors
- **Daniel Darias Sánchez** [mastodon](https://mastodon.social/@darias), dariasteam94@gmail.com
code, music, sprites
- **Yanara Aristiguieta** [instagram](https://www.instagram.com/needafreefall/), needafreefall-@hotmail.com
sprites
## Screenshots
![](Screenshots/0.png)
![](Screenshots/1.png)
![](Screenshots/2.png)
![](Screenshots/3.png)
## Authors
- **Daniel Darias Sánchez** [mastodon](https://mastodon.social/@darias), [email](dariasteam94@gmail.com)
code, music, sprites, animations
- **Yanara Aristiguieta** [instagram](https://www.instagram.com/yanaronna/), [twitter](twitter.com/yanaronna), [email](needafreefall-@hotmail.com)
sprites, character design, animations
## Additional information
All resources have been created using the following FLOSS:
@ -21,7 +33,11 @@ All resources have been created using the following FLOSS:
- [audacity](http://www.audacityteam.org/)
- [tuxguitar](http://tuxguitar.com.ar/)
- [inkscape](https://inkscape.org/en/)
- [sfxr](http://www.drpetter.se/project_sfxr.html)
# Contributors and third party stuff
Shaders: [Enrique Lalves](https://github.com/henriquelalves/SimpleGodotCRTShader)
Font: [Press Start 2P by CodeMan38 (Open Font License)](https://fonts.google.com/specimen/Press+Start+2P?selection.family=Press+Start+2P)
- [Basxto](https://github.com/basxto)

View file

@ -0,0 +1,36 @@
[gd_resource type="CanvasItemMaterial" load_steps=2 format=1]
[sub_resource type="CanvasItemShader" id=1]
_code = {
"fragment": "uniform float lines_distance = 4.0;
uniform float pixel_size = 2.0;
uniform float size_screen = 600;
uniform float scanline_alpha = 0.9;
uniform float lines_velocity = 30.0;
float line_row = floor((SCREEN_UV.y * size_screen/pixel_size) + mod(TIME*lines_velocity, lines_distance));
float n = 1.0 - ceil((mod(line_row,lines_distance)/lines_distance));
vec4 c = vec4(texscreen(SCREEN_UV),1);
c = c - n*c*(1 - scanline_alpha);
c.a = 1;
COLOR = c;",
"fragment_ofs": 0,
"light": "",
"light_ofs": 0,
"vertex": "",
"vertex_ofs": 0
}
[resource]
shader/shader = SubResource( 1 )
shader/shading_mode = 0
shader_param/lines_distance = 4.0
shader_param/pixel_size = 2.0
shader_param/size_screen = 600.0
shader_param/scanline_alpha = 0.9
shader_param/lines_velocity = 30.0

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,41 @@
[gd_scene load_steps=3 format=1]
[ext_resource path="res://Sprites/Effects/leche.png" type="Texture" id=1]
[sub_resource type="ColorRamp" id=6]
offsets = FloatArray( 0, 0.995074 )
colors = ColorArray( 0, 0, 0, 0.463843, 0, 0, 0, 0 )
[node name="BottomLevelParticles" type="Particles2D"]
visibility/opacity = 0.7
transform/pos = Vector2( 623.831, 732.836 )
config/amount = 100
config/lifetime = 2.0
config/process_mode = 1
config/half_extents = Vector2( 700, 0 )
config/texture = ExtResource( 1 )
params/direction = 180.0
params/spread = 10.0
params/linear_velocity = 150.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 5.0
params/final_size = 0.0
params/hue_variation = 10.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/direction = 10.0
randomness/spread = 10.0
randomness/linear_velocity = 0.1
color/color = Color( 0, 0, 0, 1 )
color/color_ramp = SubResource( 6 )

View file

@ -436,7 +436,6 @@ transform/pos = Vector2( -1.5159, 199.14 )
[node name="Sprite_cow" type="Sprite" parent="player_spawner"]
editor/display_folded = true
visibility/opacity = 0.0
visibility/behind_parent = true
transform/pos = Vector2( 1.00537, -0.359009 )
@ -453,7 +452,7 @@ root/root = NodePath("..")
anims/appear = SubResource( 5 )
anims/unvanish = SubResource( 6 )
playback/active = true
playback/speed = 1.0
playback/speed = 5.0
blend_times = [ ]
autoplay = ""

View file

@ -11,7 +11,8 @@ func _ready():
func _on_Apple_body_enter( body ):
if(body.is_in_group("player")):
body.add_milk(amount)
sound.play()
if global.sound:
sound.play()
sprite.set_opacity(0)

View file

@ -1,6 +1,8 @@
extends StaticBody2D
export(Array) var text
export(String) var base_key_texts = "CHICKEN_ADVICE_"
export(int) var keys_size = 56
var texts = []
onready var foreground = get_node("Foreground")
onready var background = get_node("Background")
@ -12,15 +14,17 @@ onready var text_label = get_node("Node2D/Text")
onready var text_anim = get_node("Node2D/Text/AnimationPlayer")
func _ready():
pass
for i in range(0, keys_size):
texts.push_back(str(base_key_texts, i))
func open_cage():
get_tree().get_nodes_in_group("player_spawner")[0].update_text()
sound.play()
if global.sound:
sound.play()
text_label.set_text( text[rand_range(0, text.size())])
text_label.set_text( texts[rand_range(0, texts.size())])
text_anim.play("Apear")
get_node("Area2D").queue_free()

146
Scenes/Events/chain.tscn Normal file
View file

@ -0,0 +1,146 @@
[gd_scene load_steps=3 format=1]
[sub_resource type="GDScript" id=1]
script/source = "export (NodePath) var START
export (NodePath) var END
export(int) var divisor = 4
onready var start = get_node(START)
onready var end = get_node(END)
onready var x1 = start.get_pos().x
onready var x2 = end.get_pos().x
onready var y1 = start.get_pos().y
onready var y2 = end.get_pos().y
onready var A = abs(x2 - x1)
onready var B = abs(y2 - y1)
onready var H = sqrt(pow(A, 2) + pow(B, 2))
onready var angle = asin(A / H / sin(deg2rad(90)))
onready var x_sign = ((start.get_pos().x - end.get_pos().x < 0) * -2) +1
const segment = preload(\"res://Scenes/Events/chain_segment.tscn\")
func next_segment_y(x):
return Vector2(x , ((x - x1) * (y2 - y1) / (x2 - x1)) + y1)
func generate_segment (index):
var aux_segment = segment.instance()
var position_x = start.get_pos().x - (x_sign * (divisor * index)) * angle
aux_segment.set_pos(next_segment_y(position_x))
return aux_segment
func _ready():
print (angle)
var distance = start.get_pos().distance_to(end.get_pos())
var n_segments = distance / divisor
var last_segment = start
for i in range(1, n_segments - 1):
var aux_segment = generate_segment(i)
add_child(aux_segment)
last_segment.get_node(\"joint\").set_node_a(last_segment.get_path())
last_segment.get_node(\"joint\").set_node_b(aux_segment.get_path())
last_segment = aux_segment
last_segment.get_node(\"joint\").set_node_a(last_segment.get_path())
last_segment.get_node(\"joint\").set_node_b(end.get_path())
"
[sub_resource type="RectangleShape2D" id=2]
custom_solver_bias = 0.0
extents = Vector2( 4.05118, 3.93616 )
[node name="Node2D" type="Node2D"]
transform/pos = Vector2( 589.086, 309.696 )
script/script = SubResource( 1 )
START = NodePath("Start")
END = NodePath("End")
divisor = 1
[node name="Start" type="RigidBody2D" parent="."]
transform/pos = Vector2( 225.344, 1.77942 )
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 10.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Start"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="Start"]
transform/pos = Vector2( -6.01813, -0.0238342 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D18")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 0.0
[node name="End" type="RigidBody2D" parent="."]
transform/pos = Vector2( 125.865, 0.659424 )
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 10.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="End"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="End"]
transform/pos = Vector2( -6.01813, -0.0238342 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D18")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 0.0

View file

@ -0,0 +1,55 @@
[gd_scene load_steps=3 format=1]
[ext_resource path="res://Sprites/Boss/wire.png" type="Texture" id=1]
[sub_resource type="RectangleShape2D" id=2]
custom_solver_bias = 0.0
extents = Vector2( 4.05118, 3.93616 )
[node name="chain_segment" type="RigidBody2D"]
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 0
mass = 0.102041
friction = 1.0
bounce = 1.0
gravity_scale = 2.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="."]
transform/pos = Vector2( -6.01068, -0.00541687 )
texture = ExtResource( 1 )
offset = Vector2( 6.01068, 0.00541687 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="."]
transform/pos = Vector2( -6.01813, -0.0238342 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D18")
bias/bias = 1.0
collision/exclude_nodes = true
softness = 8.0

View file

@ -45,7 +45,9 @@ func play_sound():
add_child(sample_player)
sample_player.add_child(aux_timer)
sample_player.play("cowbell_sound")
if global.sound:
sample_player.play("cowbell_sound")
aux_timer.start()
timer.start()

View file

@ -1,7 +1,17 @@
extends Area2D
onready var particles = get_tree().get_nodes_in_group("bottom_level_particles")[0]
func _on_DeathLine_body_enter( body ):
if(body.is_in_group("player")):
body.on_receive_damage(1000)
elif(body.is_in_group("enemy")):
body.queue_free()
body.queue_free()
func _on_death_line_area_enter( area ):
if(area.is_in_group("bottom_level_detector") and global.bottom_particles):
particles.set_emitting(true)
func _on_death_line_area_exit( area ):
if(area.is_in_group("bottom_level_detector") and global.bottom_particles):
particles.set_emitting(false)

View file

@ -33,6 +33,10 @@ shape = SubResource( 1 )
trigger = false
_update_shape_index = 0
[connection signal="area_enter" from="." to="." method="_on_death_line_area_enter"]
[connection signal="area_exit" from="." to="." method="_on_death_line_area_exit"]
[connection signal="body_enter" from="." to="." method="_on_DeathLine_body_enter"]

View file

@ -20,9 +20,9 @@ export(int) var damage = 1
func reverse_direction():
sprite.set_flip_h(v.x < 0)
dir_left = !dir_left
v = Vector2(-v.x,0)
v = Vector2(-v.x,0)
func _ready():
func _ready():
if (!dir_left):
reverse_direction()
#set_fixed_process(true)
@ -33,7 +33,7 @@ func disappear():
sprite.set_opacity(0)
set_fixed_process(false)
set_layer_mask_bit(2,false)
hit_single.set_emitting(true)
var t = Timer.new()
t.set_wait_time(max(hit_single.get_lifetime(), 1))
@ -56,11 +56,12 @@ func on_opacity_low ():
func on_opacity_high ():
sprite.set_modulate(Color("00ffff"))
func play_damage_sound():
func play_damage_sound():
var sample_list = sound.get_sample_library().get_sample_list()
var sample = sample_list[rand_range(0, sample_list.size())]
sound.play(sample, 0)
if global.sound:
sound.play(sample, 0)
func decrease_life (value):
play_damage_sound()
hit_single.set_emitting(false)
@ -78,13 +79,13 @@ func decrease_life (value):
t1.start()
yield(t1, "timeout")
t2.start()
yield(t2, "timeout")
yield(t2, "timeout")
sprite.set_modulate(Color("ffffff"))
if (life > 0):
life -= value
if (life <= 0):
die()
func restore_velocity():
if(dir_left):
v.x = -velocity
@ -96,16 +97,16 @@ func change_velocity(amount, right):
v.x = ((!dir_left * -1) + (dir_left * 1)) * amount
else:
v.x += ((dir_left * -1) + (!dir_left * 1)) * amount
func _process(delta):
var motion = v * delta
motion = move(motion)
v.y += delta * GRAVITY
if (is_colliding()):
var normal = get_collision_normal();
if (normal.y < 0):
if (normal.y > -1):
v.y = -velocity
@ -125,4 +126,4 @@ func _on_area_head_body_enter( body ):
if (body.is_in_group("player")):
if (body.foots.get_global_pos().y > area_head.get_global_pos().y and body.is_falling()):
life = 0
die_by_jump()
die_by_jump()

View file

@ -23,7 +23,7 @@ points = Vector2Array( -3.29861, -5.99431, 2.63889, -0.899147, 0.989584, 8.09231
[sub_resource type="RectangleShape2D" id=4]
custom_solver_bias = 0.0
extents = Vector2( 13.0125, 38.3532 )
extents = Vector2( 7.54856, 38.3532 )
[sub_resource type="ConvexPolygonShape2D" id=5]

141
Scenes/Events/enemy_2.gd Normal file
View file

@ -0,0 +1,141 @@
extends KinematicBody2D
const GRAVITY = 3000.0
var vertical
export var velocity = 350
var v = Vector2(-velocity, 0)
const MACHETE = preload("res://Scenes/Events/machete.tscn")
onready var sprite = get_node("sprite")
onready var area_head = get_node("area_head")
onready var hit_single = get_node("hit_ray_particle")
onready var sound = get_node("sound")
onready var shooter = get_node("shooter")
onready var shooter_pos = get_node("shooter").get_pos()
export(bool) var dir_left = true;
export(int) var life = 2
export(int) var damage = 1
func reverse_direction():
sprite.set_flip_h(v.x < 0)
dir_left = !dir_left
v = Vector2(-v.x,0)
shooter.set_pos(Vector2(-shooter_pos.x, shooter_pos.y))
func _ready():
if (!dir_left):
reverse_direction()
#set_fixed_process(true)
set_process(true)
func disappear():
get_node("shooter/Timer").disconnect("timeout", self, "_on_Timer_timeout")
play_damage_sound()
sprite.set_opacity(0)
set_fixed_process(false)
set_layer_mask_bit(2,false)
hit_single.set_emitting(true)
var t = Timer.new()
t.set_wait_time(max(hit_single.get_lifetime(), 1))
t.set_one_shot(true)
self.add_child(t)
t.start()
yield(t, "timeout")
queue_free()
func die_by_jump():
life = 0
disappear()
func die():
disappear()
func on_opacity_low ():
sprite.set_modulate(Color("fb12e7"))
func on_opacity_high ():
sprite.set_modulate(Color("00ffff"))
func play_damage_sound():
var sample_list = sound.get_sample_library().get_sample_list()
var sample = sample_list[rand_range(0, sample_list.size())]
if global.sound:
sound.play(sample, 0)
func decrease_life (value):
play_damage_sound()
hit_single.set_emitting(false)
hit_single.set_emitting(true)
var t1 = Timer.new()
var t2 = Timer.new()
t1.set_wait_time(0.07)
t2.set_wait_time(0.07)
t1.set_one_shot(true)
t2.set_one_shot(true)
t1.connect("timeout",self,"on_opacity_low")
t2.connect("timeout",self,"on_opacity_high")
add_child(t1)
add_child(t2)
t1.start()
yield(t1, "timeout")
t2.start()
yield(t2, "timeout")
sprite.set_modulate(Color("ffffff"))
if (life > 0):
life -= value
if (life <= 0):
die()
func restore_velocity():
if(dir_left):
v.x = -velocity
else:
v.x = velocity
func change_velocity(amount, right):
if (right == dir_left):
v.x = ((!dir_left * -1) + (dir_left * 1)) * amount
else:
v.x += ((dir_left * -1) + (!dir_left * 1)) * amount
func _process(delta):
var motion = v * delta
motion = move(motion)
v.y += delta * GRAVITY
if (is_colliding()):
var normal = get_collision_normal();
if (normal.y < 0):
if (normal.y > -1):
v.y = -velocity
var aux = v.x
motion = normal.slide(motion)
v = normal.slide(v)
move(motion)
v.x = aux
if (normal.x < -0.9 or normal.x > 0.9):
reverse_direction()
func _on_area_body_body_enter( body ):
if (body.is_in_group("player") and life > 0):
body.on_receive_damage(damage)
func _on_area_head_body_enter( body ):
if (body.is_in_group("player")):
if (body.foots.get_global_pos().y > area_head.get_global_pos().y and body.is_falling()):
life = 0
die_by_jump()
func _on_Timer_timeout():
var machete = MACHETE.instance()
machete.set_global_pos(shooter.get_global_pos())
machete.set_right(!dir_left)
get_parent().add_child(machete)

237
Scenes/Events/enemy_2.tscn Normal file
View file

@ -0,0 +1,237 @@
[gd_scene load_steps=14 format=1]
[ext_resource path="res://Scenes/Events/enemy_2.gd" type="Script" id=1]
[ext_resource path="res://Sprites/Charasets/enemy_2.png" type="Texture" id=2]
[ext_resource path="res://Sprites/Effects/sangre.png" type="Texture" id=3]
[ext_resource path="res://Scenes/Events/enemy_die_sample_player.tres" type="SampleLibrary" id=4]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = Vector2Array( 8.90625, -8.09232, 8.57639, -19.4815, 23.6279, -19.5115, 26.7188, 8.39203 )
[sub_resource type="ConvexPolygonShape2D" id=2]
custom_solver_bias = 0.0
points = Vector2Array( 2.63889, -0.899147, 8.90625, -8.09232, 26.7188, 8.39203, 20.1215, 15.8849, 5.27778, 15.5852, 0.989584, 8.09231 )
[sub_resource type="ConvexPolygonShape2D" id=3]
custom_solver_bias = 0.0
points = Vector2Array( -3.29861, -5.99431, 2.63889, -0.899147, 0.989584, 8.09231, -7.91667, 2.09801, -8.24653, -3.59659 )
[sub_resource type="RectangleShape2D" id=4]
custom_solver_bias = 0.0
extents = Vector2( 7.54856, 38.3532 )
[sub_resource type="ConvexPolygonShape2D" id=5]
custom_solver_bias = 0.0
points = Vector2Array( 8.90625, -8.09232, 8.57639, -19.4815, 23.744, -19.0929, 26.7188, 8.39203 )
[sub_resource type="ConvexPolygonShape2D" id=6]
custom_solver_bias = 0.0
points = Vector2Array( 2.63889, -0.899147, 8.90625, -8.09232, 26.7188, 8.39203, 20.1215, 15.8849, 5.27778, 15.5852, 0.989584, 8.09231 )
[sub_resource type="ConvexPolygonShape2D" id=7]
custom_solver_bias = 0.0
points = Vector2Array( -3.29861, -5.99431, 2.63889, -0.899147, 0.989584, 8.09231, -7.91667, 2.09801, -8.24653, -3.59659 )
[sub_resource type="Animation" id=8]
resource/name = "walk"
length = 0.4
loop = true
step = 0.04
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = {
"times": FloatArray( 0, 0.04, 0.08, 0.12, 0.16, 0.2, 0.24, 0.28, 0.32, 0.36 ),
"transitions": FloatArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
}
[sub_resource type="ColorRamp" id=9]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 0.773438, 0.773438, 0.773438, 1, 0.1875, 0.1875, 0.1875, 1 )
[node name="KinematicBody2D 2" type="KinematicBody2D" groups=[
"enemy",
"enemy_1",
]]
transform/pos = Vector2( 64.3, -80 )
transform/scale = Vector2( 2, 2 )
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1.68421, 0, 0, 1.85361, -19.4444, 6.66667 )
shapes/0/trigger = false
shapes/1/shape = SubResource( 2 )
shapes/1/transform = Matrix32( 1.68421, 0, 0, 1.85361, -19.4444, 6.66667 )
shapes/1/trigger = false
shapes/2/shape = SubResource( 3 )
shapes/2/transform = Matrix32( 1.68421, 0, 0, 1.85361, -19.4444, 6.66667 )
shapes/2/trigger = false
collision/layers = 5
collision/mask = 4
collision/margin = 0.08
script/script = ExtResource( 1 )
velocity = 350
dir_left = true
life = 2
damage = 1
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="."]
transform/pos = Vector2( -19.4444, 6.66667 )
transform/scale = Vector2( 1.68421, 1.85361 )
build_mode = 0
polygon = Vector2Array( 8.57639, -19.4815, 8.90625, -8.09232, 2.63889, -0.899147, -3.29861, -5.99431, -8.24653, -3.59659, -7.91667, 2.09801, 0.989584, 8.09231, 5.27778, 15.5852, 20.1215, 15.8849, 26.7188, 8.39203, 23.6279, -19.5115 )
shape_range = Vector2( 0, 2 )
trigger = false
[node name="area_head" type="Area2D" parent="."]
transform/pos = Vector2( 7.35, -34.75 )
transform/scale = Vector2( 0.5, 0.148438 )
input/pickable = false
shapes/0/shape = SubResource( 4 )
shapes/0/transform = Matrix32( 2.41445, 0, 0, 0.77017, 0.581818, 2.46155 )
shapes/0/trigger = true
gravity_vec = Vector2( 0, 1 )
gravity = 0.0
linear_damp = 0.1
angular_damp = 1.0
monitorable = false
collision/layers = 4
collision/mask = 34
[node name="CollisionShape2D1" type="CollisionShape2D" parent="area_head"]
transform/pos = Vector2( 0.581818, 2.46155 )
transform/scale = Vector2( 2.41445, 0.77017 )
shape = SubResource( 4 )
trigger = true
_update_shape_index = 0
[node name="area_body" type="Area2D" parent="."]
transform/pos = Vector2( -4.07679, 1.11111 )
transform/scale = Vector2( 0.9363, 1.08512 )
input/pickable = false
shapes/0/shape = SubResource( 5 )
shapes/0/transform = Matrix32( 1.79879, 0, 0, 1.7082, -16.6219, 4.86533 )
shapes/0/trigger = true
shapes/1/shape = SubResource( 6 )
shapes/1/transform = Matrix32( 1.79879, 0, 0, 1.7082, -16.6219, 4.86533 )
shapes/1/trigger = true
shapes/2/shape = SubResource( 7 )
shapes/2/transform = Matrix32( 1.79879, 0, 0, 1.7082, -16.6219, 4.86533 )
shapes/2/trigger = true
gravity_vec = Vector2( 0, 1 )
gravity = 0.0
linear_damp = 0.1
angular_damp = 1.0
monitorable = false
collision/layers = 0
collision/mask = 34
[node name="CollisionPolygon2D3" type="CollisionPolygon2D" parent="area_body"]
transform/pos = Vector2( -16.6219, 4.86533 )
transform/scale = Vector2( 1.79879, 1.7082 )
build_mode = 0
polygon = Vector2Array( 8.57639, -19.4815, 8.90625, -8.09232, 2.63889, -0.899147, -3.29861, -5.99431, -8.24653, -3.59659, -7.91667, 2.09801, 0.989584, 8.09231, 5.27778, 15.5852, 20.1215, 15.8849, 26.7188, 8.39203, 23.744, -19.0929 )
shape_range = Vector2( 0, 2 )
trigger = true
[node name="sprite" type="Sprite" parent="."]
editor/display_folded = true
transform/pos = Vector2( 7.90835, 7.78536 )
texture = ExtResource( 2 )
vframes = 6
hframes = 6
frame = 4
[node name="animation" type="AnimationPlayer" parent="sprite"]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/walk = SubResource( 8 )
playback/active = true
playback/speed = 1.0
blend_times = [ ]
autoplay = "walk"
[node name="hit_ray_particle" type="Particles2D" parent="."]
transform/pos = Vector2( 7.65098, 1.11111 )
transform/scale = Vector2( 0.296685, 0.329861 )
config/amount = 100
config/lifetime = 1.0
config/emit_timeout = 0.2
config/emitting = false
config/process_mode = 1
config/half_extents = Vector2( 40, 40 )
config/local_space = false
config/explosiveness = 0.2
config/texture = ExtResource( 3 )
params/direction = 88.89
params/spread = 180.0
params/linear_velocity = 200.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 400.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 2.0
params/final_size = 0.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/direction = 0.29
randomness/spread = 0.8
randomness/linear_velocity = 0.45
color/color_ramp = SubResource( 9 )
[node name="sound" type="SamplePlayer2D" parent="."]
params/volume_db = 5.0
params/pitch_scale = 1.0
params/attenuation/min_distance = 1.0
params/attenuation/max_distance = 2048.0
params/attenuation/distance_exp = 2.92817
config/polyphony = 3
config/samples = ExtResource( 4 )
config/pitch_random = 0.135
[node name="shooter" type="Position2D" parent="."]
transform/pos = Vector2( -15, 5.53392 )
[node name="Timer" type="Timer" parent="shooter"]
process_mode = 0
wait_time = 1.5
one_shot = false
autostart = true
[connection signal="body_enter" from="area_head" to="." method="_on_area_head_body_enter"]
[connection signal="body_enter" from="area_body" to="." method="_on_area_body_body_enter"]
[connection signal="timeout" from="shooter/Timer" to="." method="_on_Timer_timeout"]

17
Scenes/Events/enemy_3.gd Normal file
View file

@ -0,0 +1,17 @@
extends Node2D
onready var hand_1 = get_node("Hand_Back/End")
onready var hand_2 = get_node("Hand_Front/End")
func _ready():
set_process(true)
func _process(delta):
var player = get_tree().get_nodes_in_group("player")[0]
if (player.get_global_pos().distance_to(get_global_pos()) < 100):
hand_1.set_global_pos(player.get_global_pos())
if (player.get_global_pos().distance_to(get_global_pos()) < 100):
hand_2.set_global_pos(player.get_global_pos())

View file

@ -14,4 +14,5 @@ func _on_Area2D_body_enter( body ):
sprite.set_opacity(0)
disconnect("body_enter",self,"_on_Area2D_body_enter")
body.add_life()
sound.play()
if global.sound:
sound.play()

View file

@ -59,7 +59,8 @@ constant_angular_velocity = 0.0
friction = 1.0
bounce = 0.0
script/script = ExtResource( 1 )
text = [ "Vamos señores wuuu!", "Los astronautas no existen", "e=mc^2", "e_e", "Wiii", "cocococo", "Zzz...", "¡Ya era hora!", ":D", "Pos coman pinocha", "Aléjate primo aléjate", "Efectivamente", "Porque quiero que sepas que tú para mi eres un amigo pa siempre", "La gravedad no existe", "La caida de la gran babilonia", "FUAAAA!!", "Tú no me mandas", ":C", "No te pongas nervioso", "¿Dónde está la contaminacion que yo la vea?", "seh seh seh seh", "Tu crees que arcadio va a llevar el coche al para?", "La psicología es útil", "C++ > Java", "GNU Not Unix", "Salchichas comodoro", "Ostia el workbook!", "Macarrones con tomatico ", "Yo soy tu padre", "No quiero hablar contigo", "Déjame en paz", "...", "La oronja verde o amanita palloides es el hongo más venenoso del mundo", "Poesía eres tú", "Illuminati confirmed", "Soy dueño de la canaca", "Yo soy un pollo cobarde", "¡Rayos y centellas!", "Para pasar a binario solo debes dividir entre 2, el resultado son los restos ordenados al revés", "Si no estás conmigo eres mi enemigo", "Mírame a los ojos cuando te hablo", "¡Duro con ellos!", "Rambo está en la trinchera, tiene una herida de bala en la pierna", "Sosio aflójate un eurito ahí", "Mira no más, esta cara, este cuerpo. Tú jamás tendrás este cuerpo", "¡Mi pueblo se muere por falta de conocimiento!", "Y volé de él, y él voló allá por la arbolada", "Yo soy un pirata y tu mente es el mar y la psicología es mi barco", "Si recomiendas a la gente usar homeopatía, te sugiero amablemente que te vayas a hacer puñetas", "Si estás en un bosque y gritas y nadie te oye, ¿Por qué sigo suspendiendo Álgebra?", "Deja de xorfirar anda", "Para mí será un placer vencerte", "No me toques que yo no te he tocao", "A que no adivinas quién fue primero, ¿Mi huevo o yo?", "¡Ay vida mía, soy taaan desdichada!", "Ay quién tuviera la dicha que tiene el gallo" ]
base_key_texts = "CHICKEN_ADVICE_"
keys_size = 62
[node name="Foreground" type="Sprite" parent="."]
@ -98,7 +99,7 @@ stream/buffering_ms = 500
frames = SubResource( 2 )
animation = "Idle"
frame = 4
frame = 15
playing = true
[node name="Bars" type="Particles2D" parent="."]

26
Scenes/Events/machete.gd Normal file
View file

@ -0,0 +1,26 @@
extends Node2D
export (int) var damage = 1
export (int) var velocity = 13
export (int) var animation_speed = 3
var vel_vec = Vector2(-velocity,0);
func _ready():
set_process(true)
func _on_Area2D_body_enter( body ):
if (body.is_in_group("player")):
body.on_receive_damage(damage)
queue_free()
func set_right (right):
if (right):
get_node("Sprite/AnimationPlayer").set_speed(-animation_speed)
vel_vec = Vector2(velocity,0);
else:
get_node("Sprite/AnimationPlayer").set_speed(animation_speed)
vel_vec = Vector2(-velocity,0);
func _process(delta):
set_pos(get_pos() + vel_vec)

View file

@ -0,0 +1,74 @@
[gd_scene load_steps=5 format=1]
[ext_resource path="res://Scenes/Events/machete.gd" type="Script" id=1]
[ext_resource path="res://Sprites/Effects/machete.png" type="Texture" id=2]
[sub_resource type="CircleShape2D" id=2]
custom_solver_bias = 0.0
radius = 12.0234
[sub_resource type="Animation" id=1]
resource/name = "spin"
length = 1.0
loop = true
step = 0.1
tracks/0/type = "value"
tracks/0/path = NodePath(".:transform/rot")
tracks/0/interp = 1
tracks/0/imported = false
tracks/0/keys = {
"times": FloatArray( 0, 0.5, 1 ),
"transitions": FloatArray( 1, 1, 1 ),
"update": 0,
"values": [ 0.0, 180.1, 360.0 ]
}
[node name="Node2D" type="Node2D"]
transform/scale = Vector2( 2, 2 )
script/script = ExtResource( 1 )
damage = 1
velocity = 13
animation_speed = 3
[node name="Area2D" type="Area2D" parent="."]
transform/scale = Vector2( 1, 1 )
input/pickable = true
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
collision/layers = 123
collision/mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
transform/scale = Vector2( 1, 1 )
shape = SubResource( 2 )
trigger = false
_update_shape_index = 0
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Sprite"]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/spin = SubResource( 1 )
playback/active = true
playback/speed = 3.0
blend_times = [ ]
autoplay = "spin"
[connection signal="body_enter" from="Area2D" to="." method="_on_Area2D_body_enter"]

View file

@ -0,0 +1,31 @@
[gd_scene load_steps=2 format=1]
[ext_resource path="res://Sprites/Effects/light_mask.png" type="Texture" id=1]
[node name="Light2D" type="Light2D"]
visibility/light_mask = 2
transform/scale = Vector2( 2.5, 2.5 )
z/z = 10
z/relative = false
enabled = true
editor_only = false
texture = ExtResource( 1 )
offset = Vector2( 0, 0 )
scale = 1.0
color = Color( 1, 1, 1, 1 )
energy = 1.0
mode = 3
range/height = 0.0
range/z_min = -1024
range/z_max = 1024
range/layer_min = 0
range/layer_max = 0
range/item_mask = 2
shadow/enabled = false
shadow/color = Color( 0, 0, 0, 0 )
shadow/buffer_size = 2048
shadow/esm_multiplier = 80.0
shadow/item_mask = 1

View file

@ -22,8 +22,9 @@ func destroy():
yield(t, "timeout")
queue_free()
func _ready():
sound.play("bullet_sound",0)
func _ready():
if global.sound:
sound.play("bullet_sound",0)
t.set_wait_time(LIFE_TIME)
t.set_one_shot(true)
self.add_child(t)
@ -38,5 +39,6 @@ func _on_RigidBody2D_body_enter( body ):
elif (end):
destroy()
func _on_RigidBody2D_body_enter_shape( body_id, body, body_shape, local_shape ):
sound.play("bullet_sound", 0)
func _on_RigidBody2D_body_enter_shape( body_id, body, body_shape, local_shape ):
if global.sound:
sound.play("bullet_sound", 0)

View file

@ -37,7 +37,8 @@ func enable():
end.get_node("Area2D").enable()
origin.set_emitting(true)
middle.set_opacity(1)
sound.play()
if global.sound:
sound.play()
set_process(true)
func disable():
@ -45,7 +46,8 @@ func disable():
end.set_emitting(false)
end.get_node("Area2D").disable()
middle.set_opacity(0)
sound.stop()
if global.sound:
sound.stop()
set_process(false)
func _process(delta):

5
Scenes/Events/music.gd Normal file
View file

@ -0,0 +1,5 @@
extends StreamPlayer
func _ready():
if global.music:
play(0)

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=1]
[ext_resource path="res://map_text_dialog.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Events/map_text_dialog.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Events/text_dialog.tscn" type="PackedScene" id=2]
[sub_resource type="RectangleShape2D" id=1]

View file

@ -63,11 +63,11 @@ func open_cage(var number):
func add_cowbells(var number):
global.cowbells += number
hud_cowbell.set_counter (global.cowbells, cowbell_collector.play_sound())
func add_bonus (var quantity):
global.cowbells += quantity
hud_cowbell.bonus(quantity)
func is_falling ():
return velocity.y > 0
@ -134,16 +134,17 @@ func show_damage ():
func can_jump_more ():
return jump_time > 0
func play_sound():
sound.play()
if global.sound:
sound.play()
func _fixed_process(delta):
if (jumping):
jump_time -= altitude
velocity.y += delta * GRAVITY
velocity.y += delta * GRAVITY
# Salto
if (can_jump and jump_key_pressed):
play_sound()
@ -152,19 +153,19 @@ func _fixed_process(delta):
jumping = true
jump_time = MAX_JUMP_TIME
can_jump = false
if (jumping and can_jump_more() and jump_key_pressed):
velocity.y = - JUMP_SPEED + (MAX_JUMP_TIME - jump_time) * 20
# Movimiento horizontal
if (!right and !left):
if (velocity.x > SLIDE_LEVEL):
if (velocity.x > SLIDE_LEVEL):
velocity.x -= SLIDE_LEVEL
elif (velocity.x < -SLIDE_LEVEL):
velocity.x += SLIDE_LEVEL
else:
else:
velocity.x = 0
var motion = velocity * delta
if (jumping and test_move(motion)):
@ -172,26 +173,26 @@ func _fixed_process(delta):
motion.x = 0.15
else:
motion.x = -0.15
if (!colliding_in_jump):
motion = move(motion)
else:
motion = move(Vector2(0, motion.y))
colliding_in_jump = false
# Control de colisiones
# Control de colisiones
if (is_colliding()):
var normal = get_collision_normal()
if (normal.y < -0.35):
floor_velocity = get_collider_velocity()
if (floor_velocity != Vector2()):
move(Vector2(floor_velocity.x / 60, floor_velocity.y / 60))
motion.y = 0
velocity.y = 0
# Está en el suelo
velocity.y = 0
# Está en el suelo
if (!jumping and jump_key_released):
on_ground = true
can_jump = true
@ -200,10 +201,10 @@ func _fixed_process(delta):
if (normal.y > -0.9):
motion.x += motion.x * (-normal.y)
motion = normal.slide(motion)
velocity.y = 0
else:
# Está chocándose contra techo o pared
velocity.y = 0
else:
# Está chocándose contra techo o pared
can_jump = false
colliding_in_jump = true
motion = normal.slide(motion)
@ -211,10 +212,10 @@ func _fixed_process(delta):
# Si está chocando contra el techo hacerlo caer
if (normal.y > 0.2):
velocity.y = 0
move(motion)
else:
else:
can_jump = false
@ -227,19 +228,19 @@ func enable_player():
func disable_player():
set_process_input(false)
set_fixed_process(false)
sprite.set_opacity(0)
sprite.set_opacity(0)
func _ready():
#global.reset_player()
sprite.set_opacity(0)
connect("set_max_milk",hud_milk,"on_set_max_milk")
connect("update_milk",hud_milk,"on_update_milk_bar")
connect("update_life",hud_life,"on_update_life")
connect("set_max_life",hud_life,"on_set_max_life")
#emit_signal("update_milk", global.milk_level)
emit_signal("update_life", global.life)
func set_movement_left ():
@ -261,7 +262,7 @@ func reset_inputs():
jump_key_released = true
func _input(ev):
# Movimiento horizontal
# Movimiento horizontal
if (ev.is_action_pressed("ui_left")):
left = true
if (!right):
@ -270,7 +271,7 @@ func _input(ev):
left = false
if (right):
set_movement_right()
if (ev.is_action_pressed("ui_right")):
right = true
if (!left):
@ -287,7 +288,7 @@ func _input(ev):
pass
elif (ev.is_action_released("ui_up")):
pass
# Agacharse
if (ev.is_action_pressed("ui_down")):
get_node("Collision_Agachado").set_trigger(false)
@ -297,12 +298,12 @@ func _input(ev):
get_node("Collision_Normal").set_trigger(false)
get_node("Collision_Agachado").set_trigger(true)
set_collision_mask_bit(11, 1)
# Saltar
if (ev.is_action_pressed("ui_jump") and jump_key_released):
jump_key_pressed = true
elif (ev.is_action_released("ui_jump")):
jump_key_released = true
jump_time = 0
jump_key_pressed = false
jump_key_pressed = false

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=1]
[gd_scene load_steps=13 format=1]
[ext_resource path="res://Scenes/Events/player.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Events/shooter.gd" type="Script" id=2]
@ -7,20 +7,20 @@
[ext_resource path="res://Scenes/Events/player_animations.tres" type="Animation" id=5]
[ext_resource path="res://Scenes/Events/cowbell_collector.gd" type="Script" id=6]
[ext_resource path="res://Sound/player_jump.ogg" type="AudioStream" id=7]
[ext_resource path="res://Scenes/Events/map_light.tscn" type="PackedScene" id=8]
[sub_resource type="ConvexPolygonShape2D" id=1]
[sub_resource type="ConvexPolygonShape2D" id=5]
custom_solver_bias = 0.0
points = Vector2Array( -13.26, -5.39603, -9.45393, -8.08105, 6.94148, -8.08105, 11.3331, -5.21703, 11.3331, 4.27004, 9.28368, 8.56607, 1.37875, 13.0411, -3.59843, 13.0411, -11.7961, 8.38707, -13.26, 4.44904 )
[sub_resource type="ConvexPolygonShape2D" id=2]
[sub_resource type="ConvexPolygonShape2D" id=6]
custom_solver_bias = 0.0
points = Vector2Array( -2.35073, 6.94769, -10.0513, 0.602652, -10.1458, -14.3403, 9.69616, -14.1336, 9.7198, 0.41664, 1.64128, 6.92704 )
points = Vector2Array( -13.26, -5.39603, -9.45393, -8.08105, 6.94148, -8.08105, 11.3331, -5.21703, 11.3331, 4.27004, 9.28368, 8.56607, 1.37875, 13.0411, -3.59843, 13.0411, -11.7961, 8.38707, -13.26, 4.44904 )
[sub_resource type="Animation" id=3]
[sub_resource type="Animation" id=4]
resource/name = "idle"
length = 0.6
loop = true
step = 0.1
@ -35,18 +35,22 @@ tracks/0/keys = {
"values": [ 0, 1, 2, 3, 2, 1 ]
}
[sub_resource type="RectangleShape2D" id=3]
custom_solver_bias = 0.0
extents = Vector2( 10, 34.3036 )
[node name="Player" type="KinematicBody2D" groups=[
"player",
]]
transform/scale = Vector2( 1.8, 1.8 )
z/relative = false
input/pickable = true
shapes/0/shape = SubResource( 1 )
input/pickable = false
shapes/0/shape = SubResource( 5 )
shapes/0/transform = Matrix32( 1.89755, 0, 0, 3.10364, 2.93931, -4.91934 )
shapes/0/trigger = false
shapes/1/shape = SubResource( 2 )
shapes/1/transform = Matrix32( 2.35192, 0, 0, 2.68801, 1.63985, 16.8801 )
shapes/1/shape = SubResource( 6 )
shapes/1/transform = Matrix32( 1.89755, 0, 0, 3.10364, 2.93931, -4.91934 )
shapes/1/trigger = true
collision/layers = 1057
collision/mask = 2066
@ -70,6 +74,8 @@ bullet_cost = 2
[node name="ray" parent="shooter" instance=ExtResource( 3 )]
transform/pos = Vector2( -4.25251, 3.87422 )
enabled = false
cast_to = Vector2( 0, 0 )
layer_mask = 30
[node name="Collision_Normal" type="CollisionPolygon2D" parent="."]
@ -83,10 +89,10 @@ trigger = false
[node name="Collision_Agachado" type="CollisionPolygon2D" parent="."]
transform/pos = Vector2( 1.63985, 16.8801 )
transform/scale = Vector2( 2.35192, 2.68801 )
transform/pos = Vector2( 2.93931, -4.91934 )
transform/scale = Vector2( 1.89755, 3.10364 )
build_mode = 0
polygon = Vector2Array( -2.35073, 6.94769, -10.0513, 0.602652, -10.1458, -14.3403, 9.69616, -14.1336, 9.7198, 0.41664, 1.64128, 6.92704 )
polygon = Vector2Array( -13.26, -5.39603, -9.45393, -8.08105, 6.94148, -8.08105, 11.3331, -5.21703, 11.3331, 4.27004, 9.28368, 8.56607, 1.37875, 13.0411, -3.59843, 13.0411, -11.7961, 8.38707, -13.26, 4.44904 )
shape_range = Vector2( 1, 1 )
trigger = true
@ -108,7 +114,7 @@ region_rect = Rect2( 0, 0, 96, 96 )
playback/process_mode = 0
playback/default_blend_time = 0.2
root/root = NodePath("..")
anims/idle = SubResource( 3 )
anims/idle = SubResource( 4 )
anims/walk = ExtResource( 5 )
playback/active = true
playback/speed = 1.0
@ -124,7 +130,7 @@ offset = Vector2( 0, -80 )
anchor_mode = 1
rotating = false
current = true
zoom = Vector2( 1, 1 )
zoom = Vector2( 1.1, 1.1 )
limit/left = -10000000
limit/top = -10000000
limit/right = 10000000
@ -165,6 +171,32 @@ stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
[node name="Light2D" parent="." instance=ExtResource( 8 )]
[node name="BottomLevelDetector" type="Area2D" parent="." groups=[
"bottom_level_detector",
]]
transform/pos = Vector2( -0.905016, 94.1209 )
input/pickable = true
shapes/0/shape = SubResource( 3 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 3.16754, -0.452507 )
shapes/0/trigger = true
gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
monitoring = false
collision/layers = 2
collision/mask = 2
[node name="CollisionShape" type="CollisionShape2D" parent="BottomLevelDetector"]
transform/pos = Vector2( 3.16754, -0.452507 )
shape = SubResource( 3 )
trigger = true
_update_shape_index = 0
[connection signal="looking_left" from="." to="shooter" method="_on_KinematicBody2D_looking_left"]
[connection signal="looking_right" from="." to="shooter" method="_on_KinematicBody2D_looking_right"]

View file

@ -16,7 +16,8 @@ var rest = total_cages
func _ready():
texts.set_text(str(init_text, total_cages, "."))
sound.play()
if global.sound:
sound.play()
anim.play("appear")
player = PLAYER.instance()
instancer.call_deferred("add_child", player)
@ -24,7 +25,8 @@ func _ready():
player.enable_player()
func abduct():
sound.play()
if global.sound:
sound.play()
player.disable_player()
anim.play("unvanish")
global.save_cowbells()
@ -34,7 +36,8 @@ func liftoff():
get_tree().get_nodes_in_group("level_selector")[0].next_level()
func deploy():
sound.play()
if global.sound:
sound.play()
anim.play("appear")
yield(anim, "finished")
player.enable_player()
@ -51,7 +54,7 @@ func _input(ev):
abduct()
func _on_Area2D_body_enter( body ):
if (body.is_in_group("player")):
if (body.is_in_group("player")):
set_process_input(true)
func _on_Area2D_body_exit(body):

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=1]
[ext_resource path="res://player_spawner.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Events/player_spawner.gd" type="Script" id=1]
[node name="player_spawner" type="Node2D"]

View file

@ -0,0 +1,30 @@
extends Node2D
onready var p1 = get_node("P1")
onready var p2 = get_node("P2")
onready var area = get_node("Area2D")
export(float) var time
var emitting = true
func _ready():
get_node("Timer").set_wait_time(time)
func _on_Area2D_body_enter( body ):
if (body.is_in_group("player")):
body.on_receive_damage(1)
func toggle():
if (emitting):
p1.set_emitting(false)
p2.set_emitting(false)
area.disconnect("body_enter", self, "_on_Area2D_body_enter")
else:
p1.set_emitting(true)
p2.set_emitting(true)
area.connect("body_enter", self, "_on_Area2D_body_enter")
emitting = !emitting
func _on_Timer_timeout():
toggle()

View file

@ -0,0 +1,120 @@
[gd_scene load_steps=6 format=1]
[ext_resource path="res://Scenes/Events/poison_smoke.gd" type="Script" id=1]
[ext_resource path="res://Sprites/Effects/leche.png" type="Texture" id=2]
[ext_resource path="res://Sprites/Charasets/gas_deployer.png" type="Texture" id=3]
[sub_resource type="ColorRamp" id=1]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 0.67174, 0.828125, 0.11322, 1, 0.03125, 1, 0, 0 )
[sub_resource type="RectangleShape2D" id=2]
custom_solver_bias = 0.0
extents = Vector2( 15.8522, 78.592 )
[node name="smoke" type="Node2D"]
transform/scale = Vector2( 1.7, 1.7 )
script/script = ExtResource( 1 )
time = null
[node name="P1" type="Particles2D" parent="."]
visibility/opacity = 0.5
transform/pos = Vector2( -1.86014, 42.8179 )
config/amount = 20
config/lifetime = 0.5
config/process_mode = 1
config/half_extents = Vector2( 10, 0 )
config/texture = ExtResource( 2 )
params/direction = 180.0
params/spread = 5.0
params/linear_velocity = 350.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 1.0
params/final_size = 3.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/hue_variation = 0.07
color/color = Color( 0.769531, 0.739847, 0.294586, 1 )
color/color_ramp = SubResource( 1 )
[node name="P2" type="Particles2D" parent="."]
visibility/opacity = 0.2
visibility/blend_mode = 1
transform/pos = Vector2( -1.86014, 42.8179 )
config/amount = 20
config/lifetime = 0.5
config/process_mode = 1
config/half_extents = Vector2( 10, 0 )
config/texture = ExtResource( 2 )
params/direction = 180.0
params/spread = 5.0
params/linear_velocity = 350.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 1.0
params/final_size = 3.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
randomness/hue_variation = 0.07
color/color = Color( 0.699219, 0.294983, 0.294983, 1 )
color/color_ramp = SubResource( 1 )
[node name="Area2D" type="Area2D" parent="."]
input/pickable = true
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0.88028, -21.13 )
shapes/0/trigger = false
gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
collision/layers = 0
collision/mask = 34
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
visibility/visible = false
transform/pos = Vector2( 0.88028, -21.13 )
shape = SubResource( 2 )
trigger = false
_update_shape_index = 0
[node name="Timer" type="Timer" parent="."]
process_mode = 1
wait_time = 1.0
one_shot = false
autostart = true
[node name="Sprite" type="Sprite" parent="."]
transform/pos = Vector2( 0, 52.8254 )
z/z = -1
texture = ExtResource( 3 )
[connection signal="body_enter" from="Area2D" to="." method="_on_Area2D_body_enter"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -41,7 +41,7 @@ gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
monitoring = false
priority = 100.0
monitorable = false
script/script = ExtResource( 3 )

96
Scenes/Events/rope.tscn Normal file
View file

@ -0,0 +1,96 @@
[gd_scene load_steps=2 format=1]
[ext_resource path="res://icon.png" type="Texture" id=1]
[node name="Node2D" type="Node2D"]
transform/pos = Vector2( 295.815, 142.795 )
[node name="RigidBody2D" type="RigidBody2D" parent="."]
transform/pos = Vector2( -102.509, -2.37168 )
input/pickable = false
collision/layers = 1
collision/mask = 1
mode = 0
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="RigidBody2D"]
texture = ExtResource( 1 )
[node name="RigidBody2D1" type="RigidBody2D" parent="."]
transform/pos = Vector2( 32.8056, 1.01471 )
input/pickable = false
collision/layers = 1
collision/mask = 1
mode = 0
mass = 0.00102041
friction = 0.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="RigidBody2D1"]
texture = ExtResource( 1 )
[node name="RigidBody2D2" type="RigidBody2D" parent="."]
transform/pos = Vector2( 162.855, 0.527039 )
input/pickable = false
collision/layers = 1
collision/mask = 1
mode = 0
mass = 0.00102041
friction = 0.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="RigidBody2D2"]
texture = ExtResource( 1 )
[node name="PinJoint2D" type="PinJoint2D" parent="."]
transform/pos = Vector2( 184.829, -23.896 )
node_a = NodePath("../RigidBody2D2")
node_b = NodePath("")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 10.0

1
Scenes/Events/sound.gd Normal file
View file

@ -0,0 +1 @@

466
Scenes/Events/try.tscn Normal file
View file

@ -0,0 +1,466 @@
[gd_scene load_steps=13 format=1]
[ext_resource path="res://Sprites/Boss/body.png" type="Texture" id=1]
[ext_resource path="res://Sprites/Boss/leg_back_up.png" type="Texture" id=2]
[ext_resource path="res://Sprites/Boss/leg_back_down.png" type="Texture" id=3]
[ext_resource path="res://Sprites/Boss/foot_back.png" type="Texture" id=4]
[ext_resource path="res://Sprites/Boss/leg_front_up.png" type="Texture" id=5]
[ext_resource path="res://Sprites/Boss/leg_front_down.png" type="Texture" id=6]
[ext_resource path="res://Sprites/Boss/foot_front.png" type="Texture" id=7]
[ext_resource path="res://Sprites/Boss/head.png" type="Texture" id=8]
[ext_resource path="res://Sprites/Boss/wire.png" type="Texture" id=9]
[ext_resource path="res://Sprites/Boss/finger.png" type="Texture" id=10]
[sub_resource type="GDScript" id=1]
script/source = "export (NodePath) var START
export (NodePath) var END
onready var start = get_node(START)
onready var end = get_node(END)
onready var x1 = start.get_pos().x
onready var x2 = end.get_pos().x
onready var y1 = start.get_pos().y
onready var y2 = end.get_pos().y
const segment = preload(\"res://Scenes/Events/chain_segment.tscn\")
func next_segment(x):
return Vector2(x , ((x - x1) * (y2 - y1) / (x2 - x1)) + y1)
func _ready():
var distance = start.get_pos().distance_to(end.get_pos())
#var angle = start.get_pos().angle_to(end.get_pos())
#print (angle)
var n_segments = distance / 2
var position = start.get_pos()
var last_segment = start
for i in range(0, n_segments - 1):
var aux_segment = segment.instance()
position -= Vector2(2, 0)
aux_segment.set_pos(next_segment(position.x))
#aux_segment.set_rotd(angle)
add_child(aux_segment)
last_segment.get_node(\"joint\").set_node_a(last_segment.get_path())
last_segment.get_node(\"joint\").set_node_b(aux_segment.get_path())
last_segment = aux_segment
end.get_node(\"joint\").set_node_a(end.get_path())
end.get_node(\"joint\").set_node_b(last_segment.get_path())"
[sub_resource type="RectangleShape2D" id=2]
custom_solver_bias = 0.0
extents = Vector2( 7.87903, 3.93616 )
[node name="Node2D" type="Node2D"]
transform/pos = Vector2( 636.567, 381.293 )
[node name="Body" type="Sprite" parent="."]
transform/pos = Vector2( 40.0902, 8.82797 )
transform/rot = -7.09402
texture = ExtResource( 1 )
offset = Vector2( -35.4693, -3.91888 )
__meta__ = {
"_edit_ik_": true
}
[node name="Leg_Back_Up" type="Sprite" parent="Body"]
editor/display_folded = true
transform/pos = Vector2( 4.04352, 5.63336 )
transform/rot = -5.66237
transform/scale = Vector2( 1, 1 )
z/z = -1
texture = ExtResource( 2 )
offset = Vector2( -40.4423, -11.1284 )
__meta__ = {
"_edit_bone_": true
}
[node name="Leg_Back_Down" type="Sprite" parent="Body/Leg_Back_Up"]
transform/pos = Vector2( -24.7578, 20.5191 )
transform/rot = 2.29481
transform/scale = Vector2( 1, 1 )
z/z = -1
texture = ExtResource( 3 )
offset = Vector2( -16.3306, -34.5348 )
__meta__ = {
"_edit_bone_": true
}
[node name="Foot_Back" type="Sprite" parent="Body/Leg_Back_Up/Leg_Back_Down"]
transform/pos = Vector2( 12.0957, 36.1506 )
transform/rot = 3.37345
transform/scale = Vector2( 1, 1 )
texture = ExtResource( 4 )
offset = Vector2( -28.4257, -72.6998 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D" type="Position2D" parent="Body/Leg_Back_Up/Leg_Back_Down/Foot_Back"]
transform/pos = Vector2( -23.415, 2.88678 )
transform/rot = 9.20492
transform/scale = Vector2( 1, 1 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D" type="Position2D" parent="Body/Leg_Back_Up/Leg_Back_Down/Foot_Back/Position2D"]
transform/pos = Vector2( -11.8035, 1.51938 )
__meta__ = {
"_edit_bone_": true
}
[node name="Leg_Front_Up" type="Sprite" parent="Body"]
editor/display_folded = true
transform/pos = Vector2( 4.23431, 5.69522 )
transform/rot = 41.402
texture = ExtResource( 5 )
offset = Vector2( -40.3387, -11.0942 )
__meta__ = {
"_edit_bone_": true
}
[node name="Leg_Front_Down" type="Sprite" parent="Body/Leg_Front_Up"]
transform/pos = Vector2( -23.4612, 22.1521 )
transform/rot = -7.82368
z/z = -1
texture = ExtResource( 6 )
offset = Vector2( -17.9009, -35.8193 )
__meta__ = {
"_edit_bone_": true
}
[node name="Foot_Front" type="Sprite" parent="Body/Leg_Front_Up/Leg_Front_Down"]
transform/pos = Vector2( 10.2595, 33.1961 )
transform/rot = -31.5029
texture = ExtResource( 7 )
offset = Vector2( -27.9519, -70.4521 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D" type="Position2D" parent="Body/Leg_Front_Up/Leg_Front_Down/Foot_Front"]
transform/pos = Vector2( -24.865, 2.81232 )
transform/rot = -3.13296
transform/scale = Vector2( 1, 1 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D1" type="Position2D" parent="Body/Leg_Front_Up/Leg_Front_Down/Foot_Front/Position2D"]
transform/pos = Vector2( -12.7146, -0.980713 )
__meta__ = {
"_edit_bone_": true
}
[node name="Head" type="Sprite" parent="Body"]
transform/pos = Vector2( -35.4153, -51.9812 )
transform/rot = 9.44869
texture = ExtResource( 8 )
offset = Vector2( 1.37228, 49.4121 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D" type="Position2D" parent="Body/Head"]
transform/pos = Vector2( -3.45715, -6.41968 )
transform/rot = -61.5417
transform/scale = Vector2( 1, 1 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D1" type="Position2D" parent="Body/Head/Position2D"]
transform/pos = Vector2( -25.1898, 0.367554 )
transform/rot = -8.35903
transform/scale = Vector2( 1.09817, 1.15621 )
__meta__ = {
"_edit_bone_": true
}
[node name="Position2D2" type="Position2D" parent="Body/Head/Position2D/Position2D1"]
transform/pos = Vector2( -17.3925, 3.50458 )
__meta__ = {
"_edit_bone_": true
}
[node name="Hand_Back" type="Position2D" parent="."]
transform/pos = Vector2( -37.5853, -14.0595 )
transform/rot = 75.6957
transform/scale = Vector2( 0.999999, 0.999999 )
z/z = -1
[node name="Wire_Back" type="Node2D" parent="Hand_Back"]
transform/pos = Vector2( -3.67201, -2.14014 )
transform/rot = -75.6957
transform/scale = Vector2( 0.5, 0.5 )
z/z = -5
script/script = SubResource( 1 )
START = NodePath("Start")
END = NodePath("End")
[node name="End" type="RigidBody2D" parent="Hand_Back/Wire_Back"]
editor/display_folded = true
transform/pos = Vector2( 15.6561, -16.9876 )
transform/rot = 172.627
z/z = -3
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="Hand_Back/Wire_Back/End"]
texture = ExtResource( 9 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hand_Back/Wire_Back/End"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="Hand_Back/Wire_Back/End"]
transform/pos = Vector2( -0.638733, 0.000701904 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 1.0
[node name="Start" type="RigidBody2D" parent="Hand_Back/Wire_Back"]
editor/display_folded = true
transform/pos = Vector2( 128.498, -49.2625 )
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="Hand_Back/Wire_Back/Start"]
visibility/visible = false
texture = ExtResource( 9 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hand_Back/Wire_Back/Start"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="Hand_Back/Wire_Back/Start"]
transform/pos = Vector2( -7.43176, 0.104675 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D2")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 1.0
[node name="Sprite2" type="Sprite" parent="Hand_Back"]
transform/pos = Vector2( 8.87546, 49.2749 )
transform/rot = -80.9607
texture = ExtResource( 10 )
[node name="Sprite" type="Sprite" parent="Hand_Back"]
transform/pos = Vector2( 16.9435, 51.6866 )
transform/rot = -80.9607
z/z = 1
texture = ExtResource( 10 )
[node name="Sprite1" type="Sprite" parent="Hand_Back"]
transform/pos = Vector2( 10.0309, 59.491 )
transform/rot = -80.9607
z/z = 1
texture = ExtResource( 10 )
[node name="Hand_Front" type="Position2D" parent="."]
transform/pos = Vector2( -27.3054, -3.51297 )
transform/rot = 79.1726
transform/scale = Vector2( 0.999999, 0.999999 )
[node name="Wire_Front" type="Node2D" parent="Hand_Front"]
transform/pos = Vector2( 3.30298, 2.57446 )
transform/rot = -79.1726
transform/scale = Vector2( 0.5, 0.5 )
script/script = SubResource( 1 )
START = NodePath("Start")
END = NodePath("End")
[node name="End" type="RigidBody2D" parent="Hand_Front/Wire_Front"]
editor/display_folded = true
transform/pos = Vector2( -5.75891, -9.81091 )
transform/rot = -178.701
transform/scale = Vector2( 1, 1 )
z/z = -3
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="Hand_Front/Wire_Front/End"]
texture = ExtResource( 9 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hand_Front/Wire_Front/End"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="Hand_Front/Wire_Front/End"]
transform/pos = Vector2( -0.638733, 0.000701904 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 1.0
[node name="Start" type="RigidBody2D" parent="Hand_Front/Wire_Front"]
editor/display_folded = true
transform/pos = Vector2( 103.764, -59.2512 )
input/pickable = false
shapes/0/shape = SubResource( 2 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = true
collision/layers = 1
collision/mask = 1
mode = 1
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = 0
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
velocity/linear = Vector2( 0, 0 )
velocity/angular = 0.0
damp_override/linear = -1.0
damp_override/angular = -1.0
[node name="Sprite" type="Sprite" parent="Hand_Front/Wire_Front/Start"]
visibility/visible = false
texture = ExtResource( 9 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hand_Front/Wire_Front/Start"]
shape = SubResource( 2 )
trigger = true
_update_shape_index = 0
[node name="joint" type="PinJoint2D" parent="Hand_Front/Wire_Front/Start"]
transform/pos = Vector2( -7.43176, 0.104675 )
node_a = NodePath("..")
node_b = NodePath("../../RigidBody2D2")
bias/bias = 0.0
collision/exclude_nodes = true
softness = 1.0
[node name="Sprite2" type="Sprite" parent="Hand_Front"]
transform/pos = Vector2( 8.87546, 49.2749 )
transform/rot = -80.9607
texture = ExtResource( 10 )
[node name="Sprite" type="Sprite" parent="Hand_Front"]
transform/pos = Vector2( 16.9435, 51.6866 )
transform/rot = -80.9607
z/z = 1
texture = ExtResource( 10 )
[node name="Sprite1" type="Sprite" parent="Hand_Front"]
transform/pos = Vector2( 10.0309, 59.491 )
transform/rot = -80.9607
z/z = 1
texture = ExtResource( 10 )

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=16 format=1]
[gd_scene load_steps=17 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -15,6 +15,7 @@
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/on_map_text_dialog.tscn" type="PackedScene" id=14]
[ext_resource path="res://Scenes/Events/flying_platform.tscn" type="PackedScene" id=15]
[ext_resource path="res://Scenes/Events/poison_smoke.tscn" type="PackedScene" id=16]
[node name="Level" type="Node2D" groups=[
"level",
@ -117,7 +118,27 @@ collision/bounce = 0.0
collision/layers = 2
collision/mask = 15
occluder/light_mask = 1
tile_data = IntArray( )
tile_data = IntArray( -1572880, 0, -1572879, 1, -1572878, 1, -1572877, 2, -1507344, 6, -1507343, 7, -1507342, 7, -1507341, 8, -1376271, 0, -1376270, 1, -1376269, 1, -1376268, 2, -1310735, 6, -1310734, 7, -1310733, 7, -1310732, 8 )
[node name="back" type="TileMap" parent="."]
transform/scale = Vector2( 1.7, 1.7 )
z/z = -3
mode = 0
tile_set = ExtResource( 1 )
cell/size = Vector2( 64, 64 )
cell/quadrant_size = 16
cell/custom_transform = Matrix32( 1, 0, 0, 1, 0, 0 )
cell/half_offset = 2
cell/tile_origin = 0
cell/y_sort = false
collision/use_kinematic = false
collision/friction = 1.0
collision/bounce = 0.0
collision/layers = 2
collision/mask = 15
occluder/light_mask = 1
tile_data = IntArray( -1507344, 67, -1507343, 67, -1507342, 67, -1507341, 67, -1507340, 67, -1507339, 67, -1441808, 67, -1441807, 67, -1441806, 67, -1441805, 67, -1441804, 67, -1441803, 67, -1376272, 67, -1376271, 67, -1376270, 67, -1376269, 67, -1376268, 67, -1376267, 67, -1310736, 67, -1310735, 67, -1310734, 67, -1310733, 67, -1310732, 67, -1310731, 67 )
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
@ -560,4 +581,8 @@ text = "Este camino está bloqueado. Busca otra forma de desplazarte."
[node name="Node2D" parent="moving_paltforms" instance=ExtResource( 15 )]
[node name="smoke" type="Node2D" parent="."]
[node name="smoke" parent="smoke" instance=ExtResource( 16 )]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=1]
[gd_scene load_steps=16 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -12,8 +12,9 @@
[ext_resource path="res://Scenes/Events/death_line.tscn" type="PackedScene" id=10]
[ext_resource path="res://Scenes/Events/UFO.tscn" type="PackedScene" id=11]
[ext_resource path="res://Music/dangerous-hills-loop.ogg" type="AudioStream" id=12]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/on_map_text_dialog.tscn" type="PackedScene" id=14]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=13]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=14]
[ext_resource path="res://Scenes/Events/on_map_text_dialog.tscn" type="PackedScene" id=15]
[node name="Level" type="Node2D" groups=[
"level",
@ -252,6 +253,7 @@ transform/scale = Vector2( 1, 1 )
[node name="apples" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( -3140, -3460 )
[node name="Apple 2" parent="apples" instance=ExtResource( 7 )]
@ -271,6 +273,8 @@ amount = 20
[node name="hearts" type="Node2D" parent="."]
editor/display_folded = true
[node name="Heart" parent="hearts" instance=ExtResource( 8 )]
transform/pos = Vector2( 1480, -1230 )
@ -289,6 +293,7 @@ transform/pos = Vector2( -1240, -2510 )
[node name="cowbells" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( 500, 560 )
[node name="Cowbell" parent="cowbells" instance=ExtResource( 9 )]
@ -1149,117 +1154,119 @@ stream/stream = ExtResource( 12 )
stream/play = false
stream/loop = true
stream/volume_db = 1.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 13 )
[node name="Cages" type="Node2D" parent="."]
[node name="jail" parent="Cages" instance=ExtResource( 13 )]
[node name="jail" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1920, -2640 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="Tips" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( -1890, -3020 )
[node name="Area2D" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D" parent="Tips" instance=ExtResource( 15 )]
text = "TUT_0"
[node name="Area2D1" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D1" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 640, 20 )
text = "TUT_1"
[node name="Area2D2" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D2" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 1520, 30 )
text = "Pulsa A o el botón del resorte para saltar por encima de estos bloques."
text = "TUT_2"
[node name="Area2D3" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D3" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 2110, 30 )
text = "TUT_3"
[node name="Area2D4" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D4" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 2550, 30 )
text = "TUT_4"
[node name="Area2D5" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D5" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 2550, -370 )
text = "TUT_5"
[node name="Area2D6" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D6" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 3570, -60 )
text = "TUT_6"
[node name="Area2D7" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D7" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 3900, -60 )
text = "TUT_7"
[node name="Area2D8" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D8" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4010, 370 )
text = "TUT_8"
[node name="Area2D19" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D19" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4340, 730 )
text = "TUT_9"
[node name="Area2D9" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D9" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4790, 1050 )
text = "TUT_10"
[node name="Area2D10" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D10" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4920, 1340 )
text = "TUT_11"
[node name="Area2D11" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D11" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4300, 1790 )
text = "TUT_12"
[node name="Area2D12" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D12" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 3560, 1790 )
text = "TUT_13"
[node name="Area2D13" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D13" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 3590, 700 )
text = "TUT_14"
[node name="Area2D14" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D14" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 2940, 370 )
text = "TUT_15"
[node name="Area2D15" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D15" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 1380, 500 )
text = "TUT_16"
[node name="Area2D16" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D16" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 380, 370 )
text = "TUT_17"
[node name="Area2D17" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D17" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( -340, -710 )
text = "TUT_18"
[node name="Area2D18" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D18" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( -340, -60 )
text = "TUT_19"

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=1]
[gd_scene load_steps=15 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -12,7 +12,8 @@
[ext_resource path="res://Scenes/Events/death_line.tscn" type="PackedScene" id=10]
[ext_resource path="res://Scenes/Events/UFO.tscn" type="PackedScene" id=11]
[ext_resource path="res://Music/dangerous-hills-loop.ogg" type="AudioStream" id=12]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=13]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=14]
[node name="Level" type="Node2D" groups=[
"level",
@ -35,7 +36,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -1638421, 41, -1638395, 46, -1507350, 46, -1507347, 41, -1572858, 39, -1572833, 35, -1441825, 46, -1376268, 45, -1376267, 41, -1245189, 41, -1114145, 46, -1114142, 41, -1179621, 35, -1048570, 46, -851999, 28, -786426, 41, -655393, 46, -655379, 26, -589850, 25, -589843, 25, -589840, 23, -589839, 22, -589838, 22, -589837, 24, -458774, 40, -327702, 41, -196641, 46 )
tile_data = IntArray( -1638421, 41, -1638395, 64, -1507350, 41, -1507347, 41, -1572858, 39, -1572833, 35, -1441825, 64, -1376268, 45, -1376267, 41, -1245189, 41, -1114145, 41, -1114142, 41, -1179621, 35, -1048570, 46, -851999, 28, -786426, 41, -655393, 64, -655379, 26, -589850, 25, -589843, 25, -589840, 23, -589839, 22, -589838, 22, -589837, 24, -458774, 40, -327702, 41, -196641, 64 )
[node name="leaves_background" type="TileMap" parent="."]
@ -1558,56 +1559,55 @@ stream/stream = ExtResource( 12 )
stream/play = false
stream/loop = true
stream/volume_db = 1.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 13 )
[node name="Cages" type="Node2D" parent="."]
editor/display_folded = true
[node name="jail" parent="Cages" instance=ExtResource( 13 )]
[node name="jail" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1250, -2410 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail1" parent="Cages" instance=ExtResource( 13 )]
[node name="jail1" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1450, -2100 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail2" parent="Cages" instance=ExtResource( 13 )]
[node name="jail2" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -950, -2100 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail3" parent="Cages" instance=ExtResource( 13 )]
[node name="jail3" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -640, -2100 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail4" parent="Cages" instance=ExtResource( 13 )]
[node name="jail4" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -2000, -2100 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail5" parent="Cages" instance=ExtResource( 13 )]
[node name="jail5" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1850, -1560 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail6" parent="Cages" instance=ExtResource( 13 )]
[node name="jail6" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1520, -1560 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail7" parent="Cages" instance=ExtResource( 13 )]
[node name="jail7" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1090, -1560 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail8" parent="Cages" instance=ExtResource( 13 )]
[node name="jail8" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -660, -1560 )
transform/scale = Vector2( 1.7, 1.7 )

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=1]
[gd_scene load_steps=15 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -12,7 +12,8 @@
[ext_resource path="res://Scenes/Events/death_line.tscn" type="PackedScene" id=10]
[ext_resource path="res://Scenes/Events/UFO.tscn" type="PackedScene" id=11]
[ext_resource path="res://Music/dangerous-hills-loop.ogg" type="AudioStream" id=12]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=13]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=14]
[node name="Level" type="Node2D"]
@ -33,7 +34,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -2031646, 40, -2031645, 35, -1900576, 46, -1900574, 40, -1900573, 41, -1900572, 41, -1048609, 41, -1048608, 39, -1048607, 39, -1048606, 35, -1048598, 46, -917481, 40, -917480, 35 )
tile_data = IntArray( -2031646, 40, -2031645, 35, -1900576, 41, -1900574, 40, -1900573, 41, -1900572, 41, -1048609, 41, -1048608, 39, -1048607, 39, -1048606, 35, -1048598, 46, -917481, 40, -917480, 35 )
[node name="tile_leaves_background" type="TileMap" parent="."]
@ -2042,66 +2043,67 @@ stream/stream = ExtResource( 12 )
stream/play = false
stream/loop = true
stream/volume_db = 1.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 13 )
[node name="Cages" type="Node2D" parent="."]
editor/display_folded = true
[node name="jail" parent="Cages" instance=ExtResource( 13 )]
[node name="jail" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1410, -2210 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail1" parent="Cages" instance=ExtResource( 13 )]
[node name="jail1" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1890, -2210 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail2" parent="Cages" instance=ExtResource( 13 )]
[node name="jail2" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -3170, -3080 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail3" parent="Cages" instance=ExtResource( 13 )]
[node name="jail3" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -2640, -470 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail4" parent="Cages" instance=ExtResource( 13 )]
[node name="jail4" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 1900, -1770 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail5" parent="Cages" instance=ExtResource( 13 )]
[node name="jail5" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 3690, -2760 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail6" parent="Cages" instance=ExtResource( 13 )]
[node name="jail6" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 4670, -1880 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail7" parent="Cages" instance=ExtResource( 13 )]
[node name="jail7" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 2270, -3300 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail10" parent="Cages" instance=ExtResource( 13 )]
[node name="jail10" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -720, -1660 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail8" parent="Cages" instance=ExtResource( 13 )]
[node name="jail8" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 650, -2100 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail9" parent="Cages" instance=ExtResource( 13 )]
[node name="jail9" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 2550, -1530 )
transform/scale = Vector2( 1.7, 1.7 )

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=1]
[gd_scene load_steps=16 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -12,8 +12,9 @@
[ext_resource path="res://Scenes/Events/death_line.tscn" type="PackedScene" id=10]
[ext_resource path="res://Scenes/Events/UFO.tscn" type="PackedScene" id=11]
[ext_resource path="res://Music/dangerous-hills-loop.ogg" type="AudioStream" id=12]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/on_map_text_dialog.tscn" type="PackedScene" id=14]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=13]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=14]
[ext_resource path="res://Scenes/Events/on_map_text_dialog.tscn" type="PackedScene" id=15]
[node name="Level" type="Node2D" groups=[
"level",
@ -37,7 +38,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -1572833, 35, -524263, 46 )
tile_data = IntArray( -1572833, 35, -524263, 64 )
[node name="leaves_foreground1" type="TileMap" parent="."]
@ -56,7 +57,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -1572833, 35, -1245181, 39, -1114110, -1073741781, -1114108, 42, -1114107, 43, -1114106, -1073741778, -1114105, 43, -1114103, 42, -1114102, 46, -1114101, 45, -1114099, -1073741778, -1048574, -1073741782, -1048572, -1610612694, -1048568, -536870867, -983036, -1610612691, -983034, 39, -983032, -536870870, -917490, 46, -917480, 40, -786423, 40, -720874, 25, -655355, 42, -589799, -2147483606, -524276, 41, -524263, 46, -196600, 23, -196599, 22, -196598, 22, -196597, 22, -196596, 22, -196595, 24 )
tile_data = IntArray( -1572833, 35, -1245181, 39, -1114110, -1073741779, -1114108, 42, -1114107, 41, -1114106, 64, -1114105, 41, -1114103, 41, -1114102, 64, -1114101, 45, -1114099, 64, -1048574, -1073741782, -1048572, -1610612694, -1048568, -536870867, -983036, -1610612691, -983034, 39, -983032, -536870870, -917490, 64, -917480, 40, -786423, 40, -720874, 25, -655355, 42, -589799, 64, -524276, 41, -524263, 64, -196600, 23, -196599, 22, -196598, 22, -196597, 22, -196596, 22, -196595, 24 )
[node name="leaves_background" type="TileMap" parent="."]
@ -76,7 +77,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -1114102, -1073741778, -1048568, -1073741778, -589799, -1610612694, -524263, 536870958 )
tile_data = IntArray( -1114102, 536870976, -1048568, -1073741778, -589799, 64, -524263, 64 )
[node name="one_way_platforms1" type="TileMap" parent="."]
@ -136,7 +137,7 @@ collision/bounce = 0.0
collision/layers = 2
collision/mask = 15
occluder/light_mask = 1
tile_data = IntArray( -1310716, 32, -1245179, 13, -1179646, 32, -1179634, 32, -1114110, 31, -1114108, 31, -1114107, 13, -1114106, 13, -1114105, 13, -1114104, 13, -1114103, 13, -1114101, 13, -1114100, 13, -1114099, 13, -1114098, 31, -1048574, 30, -1048572, 31, -1048562, 31, -1048558, 0, -1048557, 1, -1048556, 2, -983038, 13, -983036, 31, -983032, 27, -983026, 31, -983024, 14, -983023, 15, -983022, 17, -983021, 7, -983020, 16, -983019, 14, -983018, 1, -983017, 15, -917502, 13, -917500, 31, -917496, 13, -917490, 31, -917488, 17, -917487, 8, -917483, 6, -917482, 7, -917481, 8, -851964, 31, -851962, 32, -851958, 32, -851954, 31, -851944, 0, -851943, 2, -851940, 14, -851939, 15, -786430, 32, -786428, 31, -786426, 31, -786422, 31, -786418, 31, -786417, 0, -786416, 2, -786408, 3, -786407, 5, -786405, 14, -786404, 9, -786403, 16, -720894, 31, -720892, 31, -720890, 31, -720886, 31, -720885, 32, -720882, 31, -720881, 3, -720880, 12, -720879, 1, -720878, 1, -720877, 1, -720876, 1, -720875, 1, -720874, 1, -720873, 1, -720872, 9, -720871, 5, -720869, 17, -720868, 16, -720865, 13, -655358, 30, -655356, 31, -655354, 30, -655350, 31, -655349, 31, -655346, 31, -655345, 3, -655344, 11, -655343, 7, -655342, 7, -655341, 7, -655340, 7, -655339, 7, -655338, 7, -655337, 7, -655336, 7, -655335, 8, -524289, 0, -589824, 15, -589822, 13, -589820, 31, -589818, 13, -589814, 31, -589813, 31, -589810, 31, -589809, 6, -589808, 16, -589794, 13, -458753, 3, -524288, 5, -524284, 30, -524280, 14, -524279, 15, -524278, 30, -524277, 30, -524274, 30, -524273, 0, -524272, 15, -393217, 3, -458752, 5, -458750, 0, -458749, 1, -458748, 2, -458746, 0, -458745, 1, -458744, 9, -458743, 12, -458742, 1, -458741, 2, -458739, 0, -458738, 2, -458737, 3, -458736, 12, -458735, 1, -458734, 1, -458733, 2, -458730, 0, -458729, 1, -458728, 1, -458727, 1, -458726, 2, -458723, 14, -458722, 15, -327681, 3, -393216, 5, -393214, 3, -393213, 4, -393212, 5, -393210, 17, -393209, 7, -393208, 7, -393207, 7, -393206, 7, -393205, 8, -393203, 17, -393202, 16, -393201, 6, -393200, 7, -393199, 7, -393198, 7, -393197, 16, -393196, 27, -393194, 17, -393193, 7, -393192, 7, -393191, 7, -393190, 8, -393188, 14, -393187, 9, -393186, 16, -262145, 3, -327680, 5, -327678, 17, -327677, 7, -327676, 16, -327661, 14, -327660, 1, -327659, 1, -327658, 15, -327652, 3, -327651, 5, -196609, 17, -262144, 12, -262143, 15, -262137, 18, -262128, 13, -262125, 17, -262124, 4, -262123, 11, -262122, 16, -262118, 20, -262116, 6, -262115, 8, -196608, 17, -196607, 12, -196606, 1, -196605, 1, -196604, 1, -196603, 1, -196602, 1, -196601, 1, -196600, 1, -196599, 1, -196598, 1, -196597, 1, -196596, 1, -196595, 1, -196594, 1, -196593, 1, -196592, 1, -196591, 1, -196590, 15, -196588, 17, -196587, 16, -196585, 14, -196584, 1, -196583, 1, -196582, 1, -196581, 2, -131071, 17, -131070, 7, -131069, 7, -131068, 7, -131067, 7, -131066, 7, -131065, 7, -131064, 7, -131063, 7, -131062, 7, -131061, 7, -131060, 7, -131059, 7, -131058, 7, -131057, 7, -131056, 7, -131055, 10, -131054, 12, -131053, 15, -131050, 14, -131049, 9, -131048, 11, -131047, 7, -131046, 7, -131045, 8, -65519, 3, -65518, 4, -65517, 12, -65516, 1, -65515, 1, -65514, 9, -65513, 4, -65512, 5, 17, 6, 18, 7, 19, 7, 20, 7, 21, 7, 22, 7, 23, 7, 24, 8 )
tile_data = IntArray( -1310716, 32, -1245179, 13, -1179646, 32, -1179634, 32, -1114110, 31, -1114108, 31, -1114107, 13, -1114106, 13, -1114105, 13, -1114104, 13, -1114103, 13, -1114101, 13, -1114100, 13, -1114099, 13, -1114098, 31, -1048574, 30, -1048572, 31, -1048562, 31, -1048558, 0, -1048557, 1, -1048556, 2, -983038, 13, -983036, 31, -983032, 27, -983026, 31, -983024, 14, -983023, 15, -983022, 17, -983021, 7, -983020, 16, -983019, 14, -983018, 1, -983017, 15, -917502, 13, -917500, 31, -917496, 13, -917490, 31, -917488, 17, -917487, 8, -917483, 6, -917482, 7, -917481, 8, -851964, 31, -851962, 32, -851958, 32, -851954, 31, -851944, 0, -851943, 2, -851940, 14, -851939, 15, -786430, 32, -786428, 31, -786426, 31, -786422, 31, -786418, 31, -786417, 0, -786416, 2, -786408, 3, -786407, 5, -786405, 14, -786404, 9, -786403, 16, -655361, 13, -720894, 31, -720892, 31, -720890, 31, -720886, 31, -720885, 32, -720882, 31, -720881, 3, -720880, 12, -720879, 1, -720878, 1, -720877, 1, -720876, 1, -720875, 1, -720874, 1, -720873, 1, -720872, 9, -720871, 5, -720869, 17, -720868, 16, -720865, 13, -655358, 30, -655356, 31, -655354, 30, -655350, 31, -655349, 31, -655346, 31, -655345, 3, -655344, 11, -655343, 7, -655342, 7, -655341, 7, -655340, 7, -655339, 7, -655338, 7, -655337, 7, -655336, 7, -655335, 8, -524290, 13, -524289, 0, -589824, 15, -589822, 13, -589820, 31, -589818, 13, -589814, 31, -589813, 31, -589810, 31, -589809, 6, -589808, 16, -589794, 13, -458753, 3, -524288, 5, -524284, 30, -524280, 14, -524279, 15, -524278, 30, -524277, 30, -524274, 30, -524273, 0, -524272, 15, -393217, 3, -458752, 5, -458750, 0, -458749, 1, -458748, 2, -458746, 0, -458745, 1, -458744, 9, -458743, 12, -458742, 1, -458741, 2, -458739, 0, -458738, 2, -458737, 3, -458736, 12, -458735, 1, -458734, 1, -458733, 2, -458730, 0, -458729, 1, -458728, 1, -458727, 1, -458726, 2, -458723, 14, -458722, 15, -327681, 3, -393216, 5, -393214, 3, -393213, 4, -393212, 5, -393210, 17, -393209, 7, -393208, 7, -393207, 7, -393206, 7, -393205, 8, -393203, 17, -393202, 16, -393201, 6, -393200, 7, -393199, 7, -393198, 7, -393197, 16, -393196, 27, -393194, 17, -393193, 7, -393192, 7, -393191, 7, -393190, 8, -393188, 14, -393187, 9, -393186, 16, -262145, 3, -327680, 5, -327678, 17, -327677, 7, -327676, 16, -327661, 14, -327660, 1, -327659, 1, -327658, 15, -327652, 3, -327651, 5, -196609, 17, -262144, 12, -262143, 15, -262137, 18, -262128, 13, -262125, 17, -262124, 4, -262123, 11, -262122, 16, -262118, 20, -262116, 6, -262115, 8, -196608, 17, -196607, 12, -196606, 1, -196605, 1, -196604, 1, -196603, 1, -196602, 1, -196601, 1, -196600, 1, -196599, 1, -196598, 1, -196597, 1, -196596, 1, -196595, 1, -196594, 1, -196593, 1, -196592, 1, -196591, 1, -196590, 15, -196588, 17, -196587, 16, -196585, 14, -196584, 1, -196583, 1, -196582, 1, -196581, 2, -131071, 17, -131070, 7, -131069, 7, -131068, 7, -131067, 7, -131066, 7, -131065, 7, -131064, 7, -131063, 7, -131062, 7, -131061, 7, -131060, 7, -131059, 7, -131058, 7, -131057, 7, -131056, 7, -131055, 10, -131054, 12, -131053, 15, -131050, 14, -131049, 9, -131048, 11, -131047, 7, -131046, 7, -131045, 8, -65519, 3, -65518, 4, -65517, 12, -65516, 1, -65515, 1, -65514, 9, -65513, 4, -65512, 5, 17, 6, 18, 7, 19, 7, 20, 7, 21, 7, 22, 7, 23, 7, 24, 8 )
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
@ -279,7 +280,7 @@ amount = 20
[node name="Heart" parent="hearts" instance=ExtResource( 8 )]
transform/pos = Vector2( 1250, -1230 )
transform/pos = Vector2( 1211.19, -1230 )
[node name="Heart1" parent="hearts" instance=ExtResource( 8 )]
@ -1374,29 +1375,32 @@ stream/stream = ExtResource( 12 )
stream/play = false
stream/loop = true
stream/volume_db = 1.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 13 )
[node name="Cages" type="Node2D" parent="."]
[node name="jail" parent="Cages" instance=ExtResource( 13 )]
editor/display_folded = true
[node name="jail" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 1910, -790 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail1" parent="Cages" instance=ExtResource( 13 )]
[node name="jail1" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 2650, -790 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail2" parent="Cages" instance=ExtResource( 13 )]
[node name="jail2" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 604.4, -1095.6 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail3" parent="Cages" instance=ExtResource( 13 )]
[node name="jail3" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( 1360, -880 )
transform/scale = Vector2( 1.7, 1.7 )
@ -1405,7 +1409,7 @@ transform/scale = Vector2( 1.7, 1.7 )
transform/pos = Vector2( -1890, -3020 )
[node name="Area2D" parent="Tips" instance=ExtResource( 14 )]
[node name="Area2D" parent="Tips" instance=ExtResource( 15 )]
transform/pos = Vector2( 4340, 1360 )
text = "MAP3_TEXT0"

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=1]
[gd_scene load_steps=15 format=1]
[ext_resource path="res://Scenes/Maps/tileset.xml" type="TileSet" id=1]
[ext_resource path="res://Sprites/Background/night_outside_d.png" type="Texture" id=2]
@ -12,7 +12,8 @@
[ext_resource path="res://Scenes/Events/death_line.tscn" type="PackedScene" id=10]
[ext_resource path="res://Scenes/Events/UFO.tscn" type="PackedScene" id=11]
[ext_resource path="res://Music/dangerous-hills-loop.ogg" type="AudioStream" id=12]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=13]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=13]
[ext_resource path="res://Scenes/Events/jail.tscn" type="PackedScene" id=14]
[node name="Level" type="Node2D" groups=[
"level",
@ -35,7 +36,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -2424869, 26, -2359309, 39, -2293772, 41, -2162721, 41, -1966098, 26, -1966097, 40, -1966085, 39, -1900573, 23, -1900572, 24, -1835044, 26, -1769492, 39, -1769489, 41, -1769486, 46, -1769481, 46, -1769480, 46, -1769475, 41, -1703960, 26, -1638433, 23, -1638432, 22, -1638431, 22, -1638430, 24, -1507348, 41, -1507345, 46, -1441814, 40, -1179671, 39, -1048598, 46, -917522, 42, -917521, 43, -917520, 44, -917519, 44, -917518, 44, -917517, 43, -917516, 45, -917512, 40, -655366, 23, -655365, 22, -655364, 22, -655363, 21, -655362, 22, -655361, 24 )
tile_data = IntArray( -2424869, 26, -2359309, 39, -2293772, 41, -2162721, 41, -1966098, 26, -1966097, 40, -1966085, 39, -1900573, 23, -1900572, 24, -1835044, 26, -1769492, 39, -1769489, 41, -1769486, 64, -1769481, 64, -1769480, 64, -1769475, 41, -1703960, 26, -1638433, 23, -1638432, 22, -1638431, 22, -1638430, 24, -1507348, 41, -1507345, 64, -1441814, 40, -1179671, 39, -1048598, 46, -917522, 42, -917521, 43, -917520, 44, -917519, 44, -917518, 44, -917517, 43, -917516, 45, -917512, 40, -655366, 23, -655365, 22, -655364, 22, -655363, 21, -655362, 22, -655361, 24 )
[node name="leaves_background" type="TileMap" parent="."]
@ -55,7 +56,7 @@ collision/bounce = 0.0
collision/layers = 0
collision/mask = 0
occluder/light_mask = 1
tile_data = IntArray( -1966086, 35, -1769486, 536870958, -1769481, 536870958, -1769480, 536870958, -1507345, 536870958 )
tile_data = IntArray( -1966086, 35, -1769486, 536870976, -1769481, 536870976, -1769480, 536870976, -1507345, 536870958 )
[node name="one_way_platforms1" type="TileMap" parent="."]
@ -95,7 +96,7 @@ collision/bounce = 0.0
collision/layers = 2
collision/mask = 15
occluder/light_mask = 1
tile_data = IntArray( -2162701, 28, -1966086, 26, -1638429, 21, -1638402, 28, -1441809, 28, -1441798, 19, -1441796, 28, -1376270, 28, -1245205, 28, -1114128, 21, -1114112, 28 )
tile_data = IntArray( -2162701, 28, -1966086, 26, -1703942, 28, -1638429, 21, -1638402, 28, -1441809, 28, -1441798, 19, -1441796, 28, -1376270, 28, -1245205, 28, -1114128, 21, -1114112, 28 )
[node name="base" type="TileMap" parent="."]
@ -115,7 +116,7 @@ collision/bounce = 0.0
collision/layers = 2
collision/mask = 15
occluder/light_mask = 1
tile_data = IntArray( -2490404, 13, -2424869, 13, -2424868, 13, -2359334, 13, -2359332, 13, -2359309, 32, -2293800, 13, -2293796, 13, -2293773, 31, -2293771, 13, -2293770, 13, -2293769, 13, -2293768, 13, -2228259, 0, -2228258, 2, -2228247, 13, -2228244, 13, -2228239, 13, -2228237, 30, -2228231, 13, -2162727, 13, -2162723, 3, -2162722, 5, -2162720, 13, -2162717, 13, -2162714, 13, -2162708, 0, -2162707, 1, -2162706, 1, -2162705, 1, -2162704, 1, -2162703, 2, -2162701, 13, -2162698, 0, -2162697, 2, -2162695, 0, -2162694, 1, -2162693, 1, -2162692, 15, -2162690, 32, -2228224, 31, -2097187, 3, -2097186, 5, -2097172, 6, -2097171, 7, -2097170, 7, -2097169, 7, -2097168, 7, -2097167, 8, -2097162, 3, -2097161, 5, -2097159, 17, -2097158, 7, -2097157, 7, -2097156, 8, -2097154, 31, -2162688, 31, -2031653, 13, -2031651, 3, -2031650, 5, -2031648, 13, -2031636, 13, -2031626, 3, -2031625, 12, -2031624, 15, -2031618, 31, -2097152, 31, -1966115, 3, -1966114, 5, -1966102, 13, -1966098, 13, -1966096, 0, -1966095, 2, -1966090, 17, -1966089, 10, -1966088, 5, -1966086, 13, -1966085, 13, -1966084, 13, -1966083, 13, -1966082, 31, -2031616, 31, -1900582, 13, -1900579, 3, -1900578, 12, -1900577, 1, -1900576, 1, -1900575, 1, -1900574, 1, -1900573, 1, -1900572, 1, -1900571, 1, -1900570, 1, -1900569, 1, -1900568, 1, -1900567, 1, -1900566, 2, -1900560, 3, -1900559, 5, -1900553, 3, -1900552, 5, -1900546, 31, -1966080, 31, -1835044, 13, -1835043, 6, -1835042, 7, -1835041, 7, -1835040, 7, -1835039, 7, -1835038, 7, -1835037, 7, -1835036, 7, -1835035, 7, -1835034, 7, -1835033, 7, -1835032, 7, -1835031, 7, -1835030, 8, -1835029, 32, -1835024, 3, -1835023, 5, -1835017, 6, -1835016, 8, -1835010, 31, -1900544, 31, -1769512, 13, -1769493, 31, -1769490, 13, -1769488, 3, -1769487, 5, -1769478, 13, -1769474, 31, -1835008, 31, -1703974, 13, -1703973, 13, -1703965, 20, -1703960, 13, -1703957, 31, -1703954, 13, -1703952, 17, -1703951, 12, -1703950, 15, -1703946, 14, -1703945, 1, -1703944, 1, -1703943, 1, -1703942, 2, -1703938, 30, -1769472, 31, -1638437, 13, -1638436, 0, -1638435, 1, -1638434, 1, -1638433, 1, -1638432, 1, -1638431, 1, -1638430, 1, -1638429, 1, -1638428, 1, -1638427, 1, -1638426, 1, -1638425, 1, -1638424, 2, -1638423, 32, -1638421, 31, -1638418, 13, -1638415, 17, -1638414, 16, -1638413, 13, -1638412, 13, -1638411, 13, -1638410, 3, -1638409, 4, -1638408, 11, -1638407, 7, -1638406, 8, -1638403, 0, -1638402, 2, -1703936, 31, -1572900, 6, -1572899, 7, -1572898, 7, -1572897, 7, -1572896, 7, -1572895, 7, -1572894, 7, -1572893, 7, -1572892, 7, -1572891, 7, -1572890, 7, -1572889, 7, -1572888, 8, -1572887, 31, -1572885, 31, -1572881, 13, -1572874, 17, -1572873, 7, -1572872, 16, -1572868, 32, -1572867, 17, -1572866, 16, -1638400, 31, -1507351, 31, -1507349, 31, -1507345, 29, -1507341, 13, -1507340, 13, -1507339, 13, -1507338, 13, -1507334, 18, -1507332, 30, -1572864, 31, -1441815, 31, -1441813, 31, -1441810, 0, -1441809, 2, -1441806, 29, -1441800, 14, -1441799, 1, -1441798, 1, -1441797, 1, -1441796, 2, -1507328, 31, -1376279, 31, -1376277, 31, -1376274, 3, -1376273, 5, -1376271, 0, -1376270, 2, -1376268, 0, -1376267, 1, -1376266, 1, -1376265, 1, -1376264, 9, -1376263, 7, -1376262, 7, -1376261, 7, -1376260, 16, -1441792, 31, -1310743, 31, -1310741, 30, -1310738, 6, -1310737, 8, -1310735, 6, -1310734, 8, -1310732, 6, -1310731, 7, -1310730, 7, -1310729, 10, -1310728, 5, -1310722, 13, -1376256, 31, -1245207, 31, -1245205, 0, -1245204, 2, -1245193, 3, -1245192, 12, -1245191, 1, -1245190, 1, -1245189, 1, -1245188, 1, -1245187, 2, -1310720, 31, -1179671, 31, -1179669, 3, -1179668, 5, -1179664, 20, -1179657, 6, -1179656, 7, -1179655, 7, -1179654, 7, -1179653, 7, -1179652, 7, -1179651, 8, -1245184, 31, -1114135, 31, -1114133, 3, -1114132, 12, -1114131, 1, -1114130, 1, -1114129, 1, -1114128, 1, -1114127, 1, -1114126, 1, -1114125, 1, -1114124, 1, -1114123, 1, -1114122, 1, -1114121, 2, -1179648, 30, -1048599, 31, -1048597, 6, -1048596, 7, -1048595, 7, -1048594, 7, -1048593, 7, -1048592, 7, -1048591, 7, -1048590, 7, -1048589, 7, -1048588, 7, -1048587, 7, -1048586, 7, -1048585, 16, -1048583, 0, -1048582, 1, -1048581, 1, -1048580, 1, -1048579, 1, -1048578, 1, -1048577, 1, -1114112, 1, -1114111, 2, -983063, 31, -983047, 6, -983046, 7, -983045, 7, -983044, 7, -983043, 7, -983042, 7, -983041, 7, -1048576, 7, -1048575, 8, -917527, 31, -851991, 31, -786455, 31, -786450, 13, -786440, 13, -720913, 13, -720903, 13, -720899, 20, -655376, 0, -655375, 2, -655366, 0, -655365, 1, -655364, 1, -655363, 1, -655362, 1, -655361, 1, -720896, 1, -720895, 1, -720894, 2, -589840, 6, -589839, 8, -589830, 6, -589829, 7, -589828, 7, -589827, 7, -589826, 7, -589825, 7, -655360, 7, -655359, 7, -655358, 8 )
tile_data = IntArray( -2490404, 13, -2424869, 13, -2424868, 13, -2359334, 13, -2359332, 13, -2359309, 32, -2293800, 13, -2293796, 13, -2293773, 31, -2293771, 13, -2293770, 13, -2293769, 13, -2293768, 13, -2228259, 0, -2228258, 2, -2228247, 13, -2228244, 13, -2228239, 13, -2228237, 30, -2228231, 13, -2162727, 13, -2162723, 3, -2162722, 5, -2162720, 13, -2162717, 13, -2162714, 13, -2162708, 0, -2162707, 1, -2162706, 1, -2162705, 1, -2162704, 1, -2162703, 2, -2162701, 13, -2162698, 0, -2162697, 2, -2162695, 0, -2162694, 1, -2162693, 1, -2162692, 15, -2162690, 32, -2228224, 31, -2097187, 3, -2097186, 5, -2097172, 6, -2097171, 7, -2097170, 7, -2097169, 7, -2097168, 7, -2097167, 8, -2097162, 3, -2097161, 5, -2097159, 17, -2097158, 7, -2097157, 7, -2097156, 8, -2097154, 31, -2162688, 31, -2031653, 13, -2031651, 3, -2031650, 5, -2031648, 13, -2031636, 13, -2031626, 3, -2031625, 12, -2031624, 15, -2031618, 31, -2097152, 31, -1966115, 3, -1966114, 5, -1966102, 13, -1966098, 13, -1966096, 0, -1966095, 2, -1966090, 17, -1966089, 10, -1966088, 5, -1966086, 13, -1966085, 13, -1966084, 13, -1966083, 13, -1966082, 31, -2031616, 31, -1900582, 13, -1900579, 3, -1900578, 12, -1900577, 1, -1900576, 1, -1900575, 1, -1900574, 1, -1900573, 1, -1900572, 1, -1900571, 1, -1900570, 1, -1900569, 1, -1900568, 1, -1900567, 1, -1900566, 2, -1900560, 3, -1900559, 5, -1900553, 3, -1900552, 5, -1900546, 31, -1966080, 31, -1835044, 13, -1835043, 6, -1835042, 7, -1835041, 7, -1835040, 7, -1835039, 7, -1835038, 7, -1835037, 7, -1835036, 7, -1835035, 7, -1835034, 7, -1835033, 7, -1835032, 7, -1835031, 7, -1835030, 8, -1835029, 32, -1835024, 3, -1835023, 5, -1835017, 6, -1835016, 8, -1835010, 31, -1900544, 31, -1769512, 13, -1769493, 31, -1769490, 13, -1769488, 3, -1769487, 5, -1769478, 20, -1769474, 31, -1835008, 31, -1703974, 13, -1703973, 13, -1703965, 20, -1703960, 13, -1703957, 31, -1703954, 13, -1703952, 17, -1703951, 12, -1703950, 15, -1703946, 14, -1703945, 1, -1703944, 1, -1703943, 1, -1703942, 2, -1703938, 30, -1769472, 31, -1638437, 13, -1638436, 0, -1638435, 1, -1638434, 1, -1638433, 1, -1638432, 1, -1638431, 1, -1638430, 1, -1638429, 1, -1638428, 1, -1638427, 1, -1638426, 1, -1638425, 1, -1638424, 2, -1638423, 32, -1638421, 31, -1638418, 13, -1638415, 17, -1638414, 16, -1638413, 13, -1638412, 13, -1638411, 13, -1638410, 3, -1638409, 4, -1638408, 11, -1638407, 7, -1638406, 8, -1638403, 0, -1638402, 2, -1703936, 31, -1572900, 6, -1572899, 7, -1572898, 7, -1572897, 7, -1572896, 7, -1572895, 7, -1572894, 7, -1572893, 7, -1572892, 7, -1572891, 7, -1572890, 7, -1572889, 7, -1572888, 8, -1572887, 31, -1572885, 31, -1572881, 13, -1572874, 17, -1572873, 7, -1572872, 16, -1572868, 32, -1572867, 17, -1572866, 16, -1638400, 31, -1507351, 31, -1507349, 31, -1507345, 29, -1507341, 13, -1507340, 13, -1507339, 13, -1507338, 13, -1507334, 18, -1507332, 30, -1572864, 31, -1441815, 31, -1441813, 31, -1441810, 0, -1441809, 2, -1441806, 29, -1441800, 14, -1441799, 1, -1441798, 1, -1441797, 1, -1441796, 2, -1507328, 31, -1376279, 31, -1376277, 31, -1376274, 3, -1376273, 5, -1376271, 0, -1376270, 2, -1376268, 0, -1376267, 1, -1376266, 1, -1376265, 1, -1376264, 9, -1376263, 7, -1376262, 7, -1376261, 7, -1376260, 16, -1441792, 31, -1310743, 31, -1310741, 30, -1310738, 6, -1310737, 8, -1310735, 6, -1310734, 8, -1310732, 6, -1310731, 7, -1310730, 7, -1310729, 10, -1310728, 5, -1310722, 13, -1376256, 31, -1245207, 31, -1245205, 0, -1245204, 2, -1245193, 3, -1245192, 12, -1245191, 1, -1245190, 1, -1245189, 1, -1245188, 1, -1245187, 2, -1310720, 31, -1179671, 31, -1179669, 3, -1179668, 5, -1179664, 20, -1179657, 6, -1179656, 7, -1179655, 7, -1179654, 7, -1179653, 7, -1179652, 7, -1179651, 8, -1245184, 31, -1114135, 31, -1114133, 3, -1114132, 12, -1114131, 1, -1114130, 1, -1114129, 1, -1114128, 1, -1114127, 1, -1114126, 1, -1114125, 1, -1114124, 1, -1114123, 1, -1114122, 1, -1114121, 2, -1179648, 30, -1048599, 31, -1048597, 6, -1048596, 7, -1048595, 7, -1048594, 7, -1048593, 7, -1048592, 7, -1048591, 7, -1048590, 7, -1048589, 7, -1048588, 7, -1048587, 7, -1048586, 7, -1048585, 16, -1048583, 0, -1048582, 1, -1048581, 1, -1048580, 1, -1048579, 1, -1048578, 1, -1048577, 1, -1114112, 1, -1114111, 2, -983063, 31, -983047, 6, -983046, 7, -983045, 7, -983044, 7, -983043, 7, -983042, 7, -983041, 7, -1048576, 7, -1048575, 8, -917527, 31, -851991, 31, -786455, 31, -786450, 13, -786440, 13, -720913, 13, -720903, 13, -720899, 20, -655376, 0, -655375, 2, -655366, 0, -655365, 1, -655364, 1, -655363, 1, -655362, 1, -655361, 1, -720896, 1, -720895, 1, -720894, 2, -589840, 6, -589839, 8, -589830, 6, -589829, 7, -589828, 7, -589827, 7, -589826, 7, -589825, 7, -655360, 7, -655359, 7, -655358, 8 )
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
@ -205,6 +206,7 @@ region_rect = Rect2( -1000, 0, 2048, 128 )
[node name="enemies" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( 2140, -960 )
transform/scale = Vector2( 1.7, 1.7 )
@ -260,6 +262,7 @@ transform/scale = Vector2( 1, 1 )
[node name="apples" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( -3140, -3460 )
[node name="Apple" parent="apples" instance=ExtResource( 7 )]
@ -304,6 +307,8 @@ amount = 20
[node name="hearts" type="Node2D" parent="."]
editor/display_folded = true
[node name="Heart" parent="hearts" instance=ExtResource( 8 )]
transform/pos = Vector2( -1250, -3930 )
@ -1750,59 +1755,62 @@ stream/stream = ExtResource( 12 )
stream/play = false
stream/loop = true
stream/volume_db = 1.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 13 )
[node name="Cages" type="Node2D" parent="."]
[node name="jail" parent="Cages" instance=ExtResource( 13 )]
editor/display_folded = true
[node name="jail" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1590, -2620 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail2" parent="Cages" instance=ExtResource( 13 )]
[node name="jail2" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1905.6, -3075.6 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail3" parent="Cages" instance=ExtResource( 13 )]
[node name="jail3" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1631.6, -3410.6 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail1" parent="Cages" instance=ExtResource( 13 )]
[node name="jail1" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1140, -2640 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail4" parent="Cages" instance=ExtResource( 13 )]
[node name="jail4" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -690, -2210 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail5" parent="Cages" instance=ExtResource( 13 )]
[node name="jail5" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -3700, -3840 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail6" parent="Cages" instance=ExtResource( 13 )]
[node name="jail6" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -495.771, -3402.32 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail7" parent="Cages" instance=ExtResource( 13 )]
[node name="jail7" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -660, -1890 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail8" parent="Cages" instance=ExtResource( 13 )]
[node name="jail8" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -2350, -2290 )
transform/scale = Vector2( 1.7, 1.7 )
[node name="jail9" parent="Cages" instance=ExtResource( 13 )]
[node name="jail9" parent="Cages" instance=ExtResource( 14 )]
transform/pos = Vector2( -1630, -1230 )
transform/scale = Vector2( 1.7, 1.7 )

File diff suppressed because one or more lines are too long

2237
Scenes/Maps/map_6.tscn Normal file

File diff suppressed because it is too large Load diff

2753
Scenes/Maps/map_7.tscn Normal file

File diff suppressed because one or more lines are too long

3412
Scenes/Maps/map_8.tscn Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resource_file type="TileSet" subresource_count="39" version="2.1" version_name="Godot Engine v2.1.5.beta.build1">
<resource_file type="TileSet" subresource_count="75" version="2.1" version_name="Godot Engine v2.1.5.beta.build1">
<ext_resource path="res://Sprites/Tilesets/pipes.png" type="Texture" index="1"></ext_resource>
<ext_resource path="res://Sprites/Tilesets/tile full.png" type="Texture" index="0"></ext_resource>
<ext_resource path="res://Sprites/Tilesets/tile_back.png" type="Texture" index="2"></ext_resource>
<resource type="ConvexPolygonShape2D" path="local://1">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="8"> -21.2298, -23.8952, -16.2848, -26.453, -9.37893, -26.9645, 32, -28, 32, 32, -27, 32, -26.601, -15.7957, -24.4696, -20.3144 </vector2_array>
@ -78,12 +80,12 @@
</resource>
<resource type="ConvexPolygonShape2D" path="local://24">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 23, 27, 30, -21, 30, -10, 23 </vector2_array>
<vector2_array name="points" len="4"> 27, 30, -21, 30, -9, 23, 16, 23 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://25">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 23, -10, 23, -9, -31, 16, -31 </vector2_array>
<vector2_array name="points" len="4"> -9, -31, 16, -31, 16, 23, -9, 23 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://4">
@ -93,60 +95,60 @@
</resource>
<resource type="ConvexPolygonShape2D" path="local://26">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 23, 27, 30, -21, 30, -10, 23 </vector2_array>
<vector2_array name="points" len="4"> 27, 30, -21, 30, -9, 23, 16, 23 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://27">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 23, -10, 23, -9, -34, 16, -34 </vector2_array>
<vector2_array name="points" len="4"> -9, -34, 16, -34, 16, 23, -9, 23 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://28">
<resource type="RectangleShape2D" path="local://28">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, -34, 16, 30, -9, 30, -9, -34 </vector2_array>
<vector2 name="extents"> 12.0968, 32 </vector2>
</resource>
<resource type="ConvexPolygonShape2D" path="local://29">
<resource type="RectangleShape2D" path="local://29">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, -31, 16, 30, -9, 30, -9, -31 </vector2_array>
<vector2 name="extents"> 12.0968, 30 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://39">
<resource type="RectangleShape2D" path="local://30">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 32, 6 </vector2>
<vector2 name="extents"> 32, 12 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://38">
<resource type="RectangleShape2D" path="local://31">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 2, 6 </vector2>
</resource>
<resource type="ConvexPolygonShape2D" path="local://40">
<resource type="ConvexPolygonShape2D" path="local://32">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -9, -18, -9, -34, 16, -34, 16, -18 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://41">
<resource type="ConvexPolygonShape2D" path="local://33">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="5"> 23, -12, 35, -12, 35, -1, 23, 4, -14, 6 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://42">
<resource type="ConvexPolygonShape2D" path="local://34">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 16, 19, 16, 30, -9, 30, -9, 18 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://43">
<resource type="ConvexPolygonShape2D" path="local://35">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -24, -1, -29, -1, -29, -12, -17, -12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://44">
<resource type="ConvexPolygonShape2D" path="local://36">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> -14, 6, -24, -1, -17, -12, -9, -18, 16, -18, 23, -12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://45">
<resource type="ConvexPolygonShape2D" path="local://37">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 23, 4, 16, 19, -9, 18, -14, 6 </vector2_array>
@ -155,16 +157,186 @@
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 32, -32, 32, 32, -32, 32, -32, -32 </vector2_array>
</resource>
<resource type="RectangleShape2D" path="local://38">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 12, 32 </vector2>
</resource>
<resource type="ConvexPolygonShape2D" path="local://6">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 27, -32, 27, 32, -32, 32, -32, -32 </vector2_array>
</resource>
<resource type="RectangleShape2D" path="local://39">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 32, 12 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://40">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 12, 32 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://41">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 12, 32 </vector2>
</resource>
<resource type="RectangleShape2D" path="local://42">
<real name="custom_solver_bias"> 0 </real>
<vector2 name="extents"> 12, 32 </vector2>
</resource>
<resource type="ConvexPolygonShape2D" path="local://43">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> 15, -2, -10, 12, -29, 12, -29, -13, 5, -13, 13, -9 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://44">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, -2, 15, 32, -10, 32, -10, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://45">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> -1, -13, 35, -13, 35, 12, 15, 12, -10, -7, -6, -11 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://46">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, 12, 15, 32, -10, 32, -10, -7 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://47">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> -10, 2, 15, -13, 35, -13, 35, 12, -1, 12, -7, 9 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://48">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, 2, -10, -32, 15, -32, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://49">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="6"> 6, 12, -29, 12, -29, -13, -10, -13, 16, 2, 13, 9 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://50">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, -13, -10, -32, 16, -32, 16, 2 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://51">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, -13, -10, -32, 15, -32, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://52">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, -13, 35, -13, 35, 12, 15, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://53">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, -13, 15, -13, 15, 12, -10, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://54">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, 12, 15, 32, -10, 32, -10, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://55">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, -13, -10, 12, -29, 12, -29, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://7">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="7"> 32.0174, -32.3287, 32.2493, 27.9823, -9.96833, 27.1704, -21.5666, 24.9667, -24.4662, 22.763, -27, 17, -26.9018, -31.7488 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://56">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -29, 12, -29, -13, 35, -13, -10, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://57">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 35, -13, 35, 12, 15, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://58">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> -10, 12, 35, -13, 15, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://59">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, 12, 15, 12, 15, 32, -10, 32 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://60">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -29, 12, -29, -13, -10, -13, 35, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://61">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, -13, -10, -32, 15, -32, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://62">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 35, 12, -10, -13, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://63">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 35, 12, 15, -13, 35, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://64">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, 32, -10, 32, -10, -32, 15, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://65">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> -10, -32, 15, -32, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://66">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 15, 12, -10, -32, 15, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://67">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, 12, 15, -13, 35, -13, 35, 12 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://68">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> 15, 32, -10, 32, -10, 12, 15, -32 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://69">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="4"> -10, 12, -29, 12, -29, -13, -10, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://70">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 15, -32, -10, 12, -10, -13 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://71">
<real name="custom_solver_bias"> 0 </real>
<vector2_array name="points" len="3"> 15, -32, -10, -13, -10, -32 </vector2_array>
</resource>
<resource type="ConvexPolygonShape2D" path="local://8">
<real name="custom_solver_bias"> 0 </real>
@ -621,7 +793,7 @@
<resource name="33/occluder"></resource> <vector2 name="33/navigation_offset"> 29, 32 </vector2>
<resource name="33/navigation"></resource> <vector2 name="33/shape_offset"> 29, 32 </vector2>
<array name="33/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://39"> </resource>
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="33/one_way_collision_direction"> 0, 1 </vector2>
<real name="33/one_way_collision_max_depth"> 1 </real>
@ -634,7 +806,7 @@
<resource name="34/occluder"></resource> <vector2 name="34/navigation_offset"> 29, 32 </vector2>
<resource name="34/navigation"></resource> <vector2 name="34/shape_offset"> 29, 32 </vector2>
<array name="34/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://39"> </resource>
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="34/one_way_collision_direction"> 0, 1 </vector2>
<real name="34/one_way_collision_max_depth"> 1 </real>
@ -647,7 +819,7 @@
<resource name="35/occluder"></resource> <vector2 name="35/navigation_offset"> 29, 32 </vector2>
<resource name="35/navigation"></resource> <vector2 name="35/shape_offset"> 29, 32 </vector2>
<array name="35/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://38"> </resource>
<resource resource_type="Shape2D" path="local://31"> </resource>
</array>
<vector2 name="35/one_way_collision_direction"> 0, 1 </vector2>
<real name="35/one_way_collision_max_depth"> 20 </real>
@ -660,7 +832,7 @@
<resource name="36/occluder"></resource> <vector2 name="36/navigation_offset"> 29, 32 </vector2>
<resource name="36/navigation"></resource> <vector2 name="36/shape_offset"> 29, 32 </vector2>
<array name="36/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://38"> </resource>
<resource resource_type="Shape2D" path="local://31"> </resource>
</array>
<vector2 name="36/one_way_collision_direction"> 0, 1 </vector2>
<real name="36/one_way_collision_max_depth"> 20 </real>
@ -673,7 +845,7 @@
<resource name="37/occluder"></resource> <vector2 name="37/navigation_offset"> 29, 32 </vector2>
<resource name="37/navigation"></resource> <vector2 name="37/shape_offset"> 29, 32 </vector2>
<array name="37/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://39"> </resource>
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="37/one_way_collision_direction"> 0, 1 </vector2>
<real name="37/one_way_collision_max_depth"> 1 </real>
@ -686,12 +858,12 @@
<resource name="38/occluder"></resource> <vector2 name="38/navigation_offset"> 29, 32 </vector2>
<resource name="38/navigation"></resource> <vector2 name="38/shape_offset"> 29, 32 </vector2>
<array name="38/shapes" len="6" shared="false">
<resource resource_type="Shape2D" path="local://40"> </resource>
<resource resource_type="Shape2D" path="local://41"> </resource>
<resource resource_type="Shape2D" path="local://42"> </resource>
<resource resource_type="Shape2D" path="local://43"> </resource>
<resource resource_type="Shape2D" path="local://44"> </resource>
<resource resource_type="Shape2D" path="local://45"> </resource>
<resource resource_type="Shape2D" path="local://32"> </resource>
<resource resource_type="Shape2D" path="local://33"> </resource>
<resource resource_type="Shape2D" path="local://34"> </resource>
<resource resource_type="Shape2D" path="local://35"> </resource>
<resource resource_type="Shape2D" path="local://36"> </resource>
<resource resource_type="Shape2D" path="local://37"> </resource>
</array>
<vector2 name="38/one_way_collision_direction"> 0, 1 </vector2>
<real name="38/one_way_collision_max_depth"> 1 </real>
@ -779,11 +951,11 @@
</array>
<vector2 name="45/one_way_collision_direction"> 0, 0 </vector2>
<real name="45/one_way_collision_max_depth"> 0 </real>
<string name="46/name"> "hoja_8" </string>
<string name="46/name"> "hoja_9" </string>
<resource name="46/texture" external="0"> </resource>
<vector2 name="46/tex_offset"> 0, 0 </vector2>
<resource name="46/material"></resource> <color name="46/modulate"> 1, 1, 1, 1 </color>
<rect2 name="46/region"> 256, 576, 64, 64 </rect2>
<rect2 name="46/region"> 192, 704, 64, 64 </rect2>
<vector2 name="46/occluder_offset"> 32, 32 </vector2>
<resource name="46/occluder"></resource> <vector2 name="46/navigation_offset"> 32, 32 </vector2>
<resource name="46/navigation"></resource> <vector2 name="46/shape_offset"> 0, 0 </vector2>
@ -791,6 +963,535 @@
</array>
<vector2 name="46/one_way_collision_direction"> 0, 0 </vector2>
<real name="46/one_way_collision_max_depth"> 0 </real>
<string name="47/name"> "pipe1" </string>
<resource name="47/texture" external="1"> </resource>
<vector2 name="47/tex_offset"> 0, 0 </vector2>
<resource name="47/material"></resource> <color name="47/modulate"> 1, 1, 1, 1 </color>
<rect2 name="47/region"> 0, 64, 64, 64 </rect2>
<vector2 name="47/occluder_offset"> 29, 32 </vector2>
<resource name="47/occluder"></resource> <vector2 name="47/navigation_offset"> 29, 32 </vector2>
<resource name="47/navigation"></resource> <vector2 name="47/shape_offset"> 29, 32 </vector2>
<array name="47/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://38"> </resource>
</array>
<vector2 name="47/one_way_collision_direction"> 0, 0 </vector2>
<real name="47/one_way_collision_max_depth"> 1 </real>
<string name="48/name"> "pipe2" </string>
<resource name="48/texture" external="1"> </resource>
<vector2 name="48/tex_offset"> 0, 0 </vector2>
<resource name="48/material"></resource> <color name="48/modulate"> 1, 1, 1, 1 </color>
<rect2 name="48/region"> 64, 0, 64, 64 </rect2>
<vector2 name="48/occluder_offset"> 29, 32 </vector2>
<resource name="48/occluder"></resource> <vector2 name="48/navigation_offset"> 29, 32 </vector2>
<resource name="48/navigation"></resource> <vector2 name="48/shape_offset"> 29, 32 </vector2>
<array name="48/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="48/one_way_collision_direction"> 0, 1 </vector2>
<real name="48/one_way_collision_max_depth"> 1 </real>
<string name="49/name"> "pipe3" </string>
<resource name="49/texture" external="1"> </resource>
<vector2 name="49/tex_offset"> 0, 0 </vector2>
<resource name="49/material"></resource> <color name="49/modulate"> 1, 1, 1, 1 </color>
<rect2 name="49/region"> 128, 0, 64, 64 </rect2>
<vector2 name="49/occluder_offset"> 29, 32 </vector2>
<resource name="49/occluder"></resource> <vector2 name="49/navigation_offset"> 29, 32 </vector2>
<resource name="49/navigation"></resource> <vector2 name="49/shape_offset"> 29, 32 </vector2>
<array name="49/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="49/one_way_collision_direction"> 0, 1 </vector2>
<real name="49/one_way_collision_max_depth"> 1 </real>
<string name="50/name"> "pipe4" </string>
<resource name="50/texture" external="1"> </resource>
<vector2 name="50/tex_offset"> 0, 0 </vector2>
<resource name="50/material"></resource> <color name="50/modulate"> 1, 1, 1, 1 </color>
<rect2 name="50/region"> 192, 0, 64, 64 </rect2>
<vector2 name="50/occluder_offset"> 29, 32 </vector2>
<resource name="50/occluder"></resource> <vector2 name="50/navigation_offset"> 29, 32 </vector2>
<resource name="50/navigation"></resource> <vector2 name="50/shape_offset"> 29, 32 </vector2>
<array name="50/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://30"> </resource>
</array>
<vector2 name="50/one_way_collision_direction"> 0, 1 </vector2>
<real name="50/one_way_collision_max_depth"> 1 </real>
<string name="51/name"> "pipe5" </string>
<resource name="51/texture" external="1"> </resource>
<vector2 name="51/tex_offset"> 0, 0 </vector2>
<resource name="51/material"></resource> <color name="51/modulate"> 1, 1, 1, 1 </color>
<rect2 name="51/region"> 0, 0, 64, 64 </rect2>
<vector2 name="51/occluder_offset"> 29, 32 </vector2>
<resource name="51/occluder"></resource> <vector2 name="51/navigation_offset"> 29, 32 </vector2>
<resource name="51/navigation"></resource> <vector2 name="51/shape_offset"> 29, 32 </vector2>
<array name="51/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://39"> </resource>
</array>
<vector2 name="51/one_way_collision_direction"> 0, 1 </vector2>
<real name="51/one_way_collision_max_depth"> 1 </real>
<string name="52/name"> "pipe6" </string>
<resource name="52/texture" external="1"> </resource>
<vector2 name="52/tex_offset"> 0, 0 </vector2>
<resource name="52/material"></resource> <color name="52/modulate"> 1, 1, 1, 1 </color>
<rect2 name="52/region"> 64, 64, 64, 64 </rect2>
<vector2 name="52/occluder_offset"> 29, 32 </vector2>
<resource name="52/occluder"></resource> <vector2 name="52/navigation_offset"> 29, 32 </vector2>
<resource name="52/navigation"></resource> <vector2 name="52/shape_offset"> 29, 32 </vector2>
<array name="52/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://40"> </resource>
</array>
<vector2 name="52/one_way_collision_direction"> 0, 0 </vector2>
<real name="52/one_way_collision_max_depth"> 1 </real>
<string name="53/name"> "pipe7" </string>
<resource name="53/texture" external="1"> </resource>
<vector2 name="53/tex_offset"> 0, 0 </vector2>
<resource name="53/material"></resource> <color name="53/modulate"> 1, 1, 1, 1 </color>
<rect2 name="53/region"> 128, 64, 64, 64 </rect2>
<vector2 name="53/occluder_offset"> 29, 32 </vector2>
<resource name="53/occluder"></resource> <vector2 name="53/navigation_offset"> 29, 32 </vector2>
<resource name="53/navigation"></resource> <vector2 name="53/shape_offset"> 29, 32 </vector2>
<array name="53/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://41"> </resource>
</array>
<vector2 name="53/one_way_collision_direction"> 0, 0 </vector2>
<real name="53/one_way_collision_max_depth"> 1 </real>
<string name="54/name"> "pipe8" </string>
<resource name="54/texture" external="1"> </resource>
<vector2 name="54/tex_offset"> 0, 0 </vector2>
<resource name="54/material"></resource> <color name="54/modulate"> 1, 1, 1, 1 </color>
<rect2 name="54/region"> 256, 64, 64, 64 </rect2>
<vector2 name="54/occluder_offset"> 29, 32 </vector2>
<resource name="54/occluder"></resource> <vector2 name="54/navigation_offset"> 29, 32 </vector2>
<resource name="54/navigation"></resource> <vector2 name="54/shape_offset"> 29, 32 </vector2>
<array name="54/shapes" len="1" shared="false">
<resource resource_type="Shape2D" path="local://42"> </resource>
</array>
<vector2 name="54/one_way_collision_direction"> 0, 0 </vector2>
<real name="54/one_way_collision_max_depth"> 1 </real>
<string name="55/name"> "pipe9" </string>
<resource name="55/texture" external="1"> </resource>
<vector2 name="55/tex_offset"> 0, 0 </vector2>
<resource name="55/material"></resource> <color name="55/modulate"> 1, 1, 1, 1 </color>
<rect2 name="55/region"> 256, 0, 64, 64 </rect2>
<vector2 name="55/occluder_offset"> 29, 32 </vector2>
<resource name="55/occluder"></resource> <vector2 name="55/navigation_offset"> 29, 32 </vector2>
<resource name="55/navigation"></resource> <vector2 name="55/shape_offset"> 29, 32 </vector2>
<array name="55/shapes" len="2" shared="false">
<resource resource_type="Shape2D" path="local://43"> </resource>
<resource resource_type="Shape2D" path="local://44"> </resource>
</array>
<vector2 name="55/one_way_collision_direction"> 0, 0 </vector2>
<real name="55/one_way_collision_max_depth"> 1 </real>
<string name="56/name"> "pipe10" </string>
<resource name="56/texture" external="1"> </resource>
<vector2 name="56/tex_offset"> 0, 0 </vector2>
<resource name="56/material"></resource> <color name="56/modulate"> 1, 1, 1, 1 </color>
<rect2 name="56/region"> 192, 64, 64, 64 </rect2>
<vector2 name="56/occluder_offset"> 29, 32 </vector2>
<resource name="56/occluder"></resource> <vector2 name="56/navigation_offset"> 29, 32 </vector2>
<resource name="56/navigation"></resource> <vector2 name="56/shape_offset"> 29, 32 </vector2>
<array name="56/shapes" len="2" shared="false">
<resource resource_type="Shape2D" path="local://45"> </resource>
<resource resource_type="Shape2D" path="local://46"> </resource>
</array>
<vector2 name="56/one_way_collision_direction"> 0, 0 </vector2>
<real name="56/one_way_collision_max_depth"> 1 </real>
<string name="57/name"> "pipe11" </string>
<resource name="57/texture" external="1"> </resource>
<vector2 name="57/tex_offset"> 0, 0 </vector2>
<resource name="57/material"></resource> <color name="57/modulate"> 1, 1, 1, 1 </color>
<rect2 name="57/region"> 192, 128, 64, 64 </rect2>
<vector2 name="57/occluder_offset"> 29, 32 </vector2>
<resource name="57/occluder"></resource> <vector2 name="57/navigation_offset"> 29, 32 </vector2>
<resource name="57/navigation"></resource> <vector2 name="57/shape_offset"> 29, 32 </vector2>
<array name="57/shapes" len="2" shared="false">
<resource resource_type="Shape2D" path="local://47"> </resource>
<resource resource_type="Shape2D" path="local://48"> </resource>
</array>
<vector2 name="57/one_way_collision_direction"> 0, 0 </vector2>
<real name="57/one_way_collision_max_depth"> 1 </real>
<string name="58/name"> "pipe12" </string>
<resource name="58/texture" external="1"> </resource>
<vector2 name="58/tex_offset"> 0, 0 </vector2>
<resource name="58/material"></resource> <color name="58/modulate"> 1, 1, 1, 1 </color>
<rect2 name="58/region"> 256, 128, 64, 64 </rect2>
<vector2 name="58/occluder_offset"> 29, 32 </vector2>
<resource name="58/occluder"></resource> <vector2 name="58/navigation_offset"> 29, 32 </vector2>
<resource name="58/navigation"></resource> <vector2 name="58/shape_offset"> 29, 32 </vector2>
<array name="58/shapes" len="2" shared="false">
<resource resource_type="Shape2D" path="local://49"> </resource>
<resource resource_type="Shape2D" path="local://50"> </resource>
</array>
<vector2 name="58/one_way_collision_direction"> 0, 0 </vector2>
<real name="58/one_way_collision_max_depth"> 1 </real>
<string name="59/name"> "pipe13" </string>
<resource name="59/texture" external="1"> </resource>
<vector2 name="59/tex_offset"> 0, 0 </vector2>
<resource name="59/material"></resource> <color name="59/modulate"> 1, 1, 1, 1 </color>
<rect2 name="59/region"> 0, 128, 64, 64 </rect2>
<vector2 name="59/occluder_offset"> 29, 32 </vector2>
<resource name="59/occluder"></resource> <vector2 name="59/navigation_offset"> 29, 32 </vector2>
<resource name="59/navigation"></resource> <vector2 name="59/shape_offset"> 29, 32 </vector2>
<array name="59/shapes" len="5" shared="false">
<resource resource_type="Shape2D" path="local://51"> </resource>
<resource resource_type="Shape2D" path="local://52"> </resource>
<resource resource_type="Shape2D" path="local://53"> </resource>
<resource resource_type="Shape2D" path="local://54"> </resource>
<resource resource_type="Shape2D" path="local://55"> </resource>
</array>
<vector2 name="59/one_way_collision_direction"> 0, 0 </vector2>
<real name="59/one_way_collision_max_depth"> 1 </real>
<string name="60/name"> "pipe14" </string>
<resource name="60/texture" external="1"> </resource>
<vector2 name="60/tex_offset"> 0, 0 </vector2>
<resource name="60/material"></resource> <color name="60/modulate"> 1, 1, 1, 1 </color>
<rect2 name="60/region"> 64, 128, 64, 64 </rect2>
<vector2 name="60/occluder_offset"> 29, 32 </vector2>
<resource name="60/occluder"></resource> <vector2 name="60/navigation_offset"> 29, 32 </vector2>
<resource name="60/navigation"></resource> <vector2 name="60/shape_offset"> 29, 32 </vector2>
<array name="60/shapes" len="4" shared="false">
<resource resource_type="Shape2D" path="local://56"> </resource>
<resource resource_type="Shape2D" path="local://57"> </resource>
<resource resource_type="Shape2D" path="local://58"> </resource>
<resource resource_type="Shape2D" path="local://59"> </resource>
</array>
<vector2 name="60/one_way_collision_direction"> 0, 0 </vector2>
<real name="60/one_way_collision_max_depth"> 1 </real>
<string name="61/name"> "pipe15" </string>
<resource name="61/texture" external="1"> </resource>
<vector2 name="61/tex_offset"> 0, 0 </vector2>
<resource name="61/material"></resource> <color name="61/modulate"> 1, 1, 1, 1 </color>
<rect2 name="61/region"> 128, 128, 64, 64 </rect2>
<vector2 name="61/occluder_offset"> 29, 32 </vector2>
<resource name="61/occluder"></resource> <vector2 name="61/navigation_offset"> 29, 32 </vector2>
<resource name="61/navigation"></resource> <vector2 name="61/shape_offset"> 29, 32 </vector2>
<array name="61/shapes" len="4" shared="false">
<resource resource_type="Shape2D" path="local://60"> </resource>
<resource resource_type="Shape2D" path="local://61"> </resource>
<resource resource_type="Shape2D" path="local://62"> </resource>
<resource resource_type="Shape2D" path="local://63"> </resource>
</array>
<vector2 name="61/one_way_collision_direction"> 0, 0 </vector2>
<real name="61/one_way_collision_max_depth"> 1 </real>
<string name="62/name"> "pipe16" </string>
<resource name="62/texture" external="1"> </resource>
<vector2 name="62/tex_offset"> 0, 0 </vector2>
<resource name="62/material"></resource> <color name="62/modulate"> 1, 1, 1, 1 </color>
<rect2 name="62/region"> 0, 192, 64, 64 </rect2>
<vector2 name="62/occluder_offset"> 29, 32 </vector2>
<resource name="62/occluder"></resource> <vector2 name="62/navigation_offset"> 29, 32 </vector2>
<resource name="62/navigation"></resource> <vector2 name="62/shape_offset"> 29, 32 </vector2>
<array name="62/shapes" len="4" shared="false">
<resource resource_type="Shape2D" path="local://64"> </resource>
<resource resource_type="Shape2D" path="local://65"> </resource>
<resource resource_type="Shape2D" path="local://66"> </resource>
<resource resource_type="Shape2D" path="local://67"> </resource>
</array>
<vector2 name="62/one_way_collision_direction"> 0, 0 </vector2>
<real name="62/one_way_collision_max_depth"> 1 </real>
<string name="63/name"> "pipe17" </string>
<resource name="63/texture" external="1"> </resource>
<vector2 name="63/tex_offset"> 0, 0 </vector2>
<resource name="63/material"></resource> <color name="63/modulate"> 1, 1, 1, 1 </color>
<rect2 name="63/region"> 64, 192, 64, 64 </rect2>
<vector2 name="63/occluder_offset"> 29, 32 </vector2>
<resource name="63/occluder"></resource> <vector2 name="63/navigation_offset"> 29, 32 </vector2>
<resource name="63/navigation"></resource> <vector2 name="63/shape_offset"> 29, 32 </vector2>
<array name="63/shapes" len="4" shared="false">
<resource resource_type="Shape2D" path="local://68"> </resource>
<resource resource_type="Shape2D" path="local://69"> </resource>
<resource resource_type="Shape2D" path="local://70"> </resource>
<resource resource_type="Shape2D" path="local://71"> </resource>
</array>
<vector2 name="63/one_way_collision_direction"> 0, 0 </vector2>
<real name="63/one_way_collision_max_depth"> 1 </real>
<string name="64/name"> "hoja_10" </string>
<resource name="64/texture" external="0"> </resource>
<vector2 name="64/tex_offset"> 0, 0 </vector2>
<resource name="64/material"></resource> <color name="64/modulate"> 1, 1, 1, 1 </color>
<rect2 name="64/region"> 256, 576, 64, 64 </rect2>
<vector2 name="64/occluder_offset"> 32, 32 </vector2>
<resource name="64/occluder"></resource> <vector2 name="64/navigation_offset"> 32, 32 </vector2>
<resource name="64/navigation"></resource> <vector2 name="64/shape_offset"> 0, 0 </vector2>
<array name="64/shapes" len="0" shared="false">
</array>
<vector2 name="64/one_way_collision_direction"> 0, 0 </vector2>
<real name="64/one_way_collision_max_depth"> 0 </real>
<string name="65/name"> "pipe18" </string>
<resource name="65/texture" external="1"> </resource>
<vector2 name="65/tex_offset"> 0, 0 </vector2>
<resource name="65/material"></resource> <color name="65/modulate"> 1, 1, 1, 1 </color>
<rect2 name="65/region"> 256, 192, 64, 64 </rect2>
<vector2 name="65/occluder_offset"> 32, 32 </vector2>
<resource name="65/occluder"></resource> <vector2 name="65/navigation_offset"> 32, 32 </vector2>
<resource name="65/navigation"></resource> <vector2 name="65/shape_offset"> 0, 0 </vector2>
<array name="65/shapes" len="0" shared="false">
</array>
<vector2 name="65/one_way_collision_direction"> 0, 0 </vector2>
<real name="65/one_way_collision_max_depth"> 0 </real>
<string name="66/name"> "pipe19" </string>
<resource name="66/texture" external="1"> </resource>
<vector2 name="66/tex_offset"> 0, 0 </vector2>
<resource name="66/material"></resource> <color name="66/modulate"> 1, 1, 1, 1 </color>
<rect2 name="66/region"> 192, 192, 64, 64 </rect2>
<vector2 name="66/occluder_offset"> 32, 32 </vector2>
<resource name="66/occluder"></resource> <vector2 name="66/navigation_offset"> 32, 32 </vector2>
<resource name="66/navigation"></resource> <vector2 name="66/shape_offset"> 0, 0 </vector2>
<array name="66/shapes" len="0" shared="false">
</array>
<vector2 name="66/one_way_collision_direction"> 0, 0 </vector2>
<real name="66/one_way_collision_max_depth"> 0 </real>
<string name="67/name"> "back" </string>
<resource name="67/texture" external="2"> </resource>
<vector2 name="67/tex_offset"> 0, 0 </vector2>
<resource name="67/material"></resource> <color name="67/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="67/region"> 64, 64, 64, 64 </rect2>
<vector2 name="67/occluder_offset"> 32, 32 </vector2>
<resource name="67/occluder"></resource> <vector2 name="67/navigation_offset"> 32, 32 </vector2>
<resource name="67/navigation"></resource> <vector2 name="67/shape_offset"> 0, 0 </vector2>
<array name="67/shapes" len="0" shared="false">
</array>
<vector2 name="67/one_way_collision_direction"> 0, 0 </vector2>
<real name="67/one_way_collision_max_depth"> 0 </real>
<string name="68/name"> "back_arriba_izquierda" </string>
<resource name="68/texture" external="2"> </resource>
<vector2 name="68/tex_offset"> 0, 0 </vector2>
<resource name="68/material"></resource> <color name="68/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="68/region"> 0, 0, 64, 64 </rect2>
<vector2 name="68/occluder_offset"> 32, 32 </vector2>
<resource name="68/occluder"></resource> <vector2 name="68/navigation_offset"> 32, 32 </vector2>
<resource name="68/navigation"></resource> <vector2 name="68/shape_offset"> 0, 0 </vector2>
<array name="68/shapes" len="0" shared="false">
</array>
<vector2 name="68/one_way_collision_direction"> 0, 0 </vector2>
<real name="68/one_way_collision_max_depth"> 0 </real>
<string name="69/name"> "back_arriba" </string>
<resource name="69/texture" external="2"> </resource>
<vector2 name="69/tex_offset"> 0, 0 </vector2>
<resource name="69/material"></resource> <color name="69/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="69/region"> 64, 0, 64, 64 </rect2>
<vector2 name="69/occluder_offset"> 32, 32 </vector2>
<resource name="69/occluder"></resource> <vector2 name="69/navigation_offset"> 32, 32 </vector2>
<resource name="69/navigation"></resource> <vector2 name="69/shape_offset"> 0, 0 </vector2>
<array name="69/shapes" len="0" shared="false">
</array>
<vector2 name="69/one_way_collision_direction"> 0, 0 </vector2>
<real name="69/one_way_collision_max_depth"> 0 </real>
<string name="70/name"> "back_arriba_derecha" </string>
<resource name="70/texture" external="2"> </resource>
<vector2 name="70/tex_offset"> 0, 0 </vector2>
<resource name="70/material"></resource> <color name="70/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="70/region"> 128, 0, 64, 64 </rect2>
<vector2 name="70/occluder_offset"> 32, 32 </vector2>
<resource name="70/occluder"></resource> <vector2 name="70/navigation_offset"> 32, 32 </vector2>
<resource name="70/navigation"></resource> <vector2 name="70/shape_offset"> 0, 0 </vector2>
<array name="70/shapes" len="0" shared="false">
</array>
<vector2 name="70/one_way_collision_direction"> 0, 0 </vector2>
<real name="70/one_way_collision_max_depth"> 0 </real>
<string name="71/name"> "back_arriba_blup" </string>
<resource name="71/texture" external="2"> </resource>
<vector2 name="71/tex_offset"> 0, 0 </vector2>
<resource name="71/material"></resource> <color name="71/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="71/region"> 192, 0, 64, 64 </rect2>
<vector2 name="71/occluder_offset"> 32, 32 </vector2>
<resource name="71/occluder"></resource> <vector2 name="71/navigation_offset"> 32, 32 </vector2>
<resource name="71/navigation"></resource> <vector2 name="71/shape_offset"> 0, 0 </vector2>
<array name="71/shapes" len="0" shared="false">
</array>
<vector2 name="71/one_way_collision_direction"> 0, 0 </vector2>
<real name="71/one_way_collision_max_depth"> 0 </real>
<string name="72/name"> "back_izquierda" </string>
<resource name="72/texture" external="2"> </resource>
<vector2 name="72/tex_offset"> 0, 0 </vector2>
<resource name="72/material"></resource> <color name="72/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="72/region"> 0, 64, 64, 64 </rect2>
<vector2 name="72/occluder_offset"> 32, 32 </vector2>
<resource name="72/occluder"></resource> <vector2 name="72/navigation_offset"> 32, 32 </vector2>
<resource name="72/navigation"></resource> <vector2 name="72/shape_offset"> 0, 0 </vector2>
<array name="72/shapes" len="0" shared="false">
</array>
<vector2 name="72/one_way_collision_direction"> 0, 0 </vector2>
<real name="72/one_way_collision_max_depth"> 0 </real>
<string name="73/name"> "back_derecha" </string>
<resource name="73/texture" external="2"> </resource>
<vector2 name="73/tex_offset"> 0, 0 </vector2>
<resource name="73/material"></resource> <color name="73/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="73/region"> 128, 64, 64, 64 </rect2>
<vector2 name="73/occluder_offset"> 32, 32 </vector2>
<resource name="73/occluder"></resource> <vector2 name="73/navigation_offset"> 32, 32 </vector2>
<resource name="73/navigation"></resource> <vector2 name="73/shape_offset"> 0, 0 </vector2>
<array name="73/shapes" len="0" shared="false">
</array>
<vector2 name="73/one_way_collision_direction"> 0, 0 </vector2>
<real name="73/one_way_collision_max_depth"> 0 </real>
<string name="74/name"> "back_single" </string>
<resource name="74/texture" external="2"> </resource>
<vector2 name="74/tex_offset"> 0, 0 </vector2>
<resource name="74/material"></resource> <color name="74/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="74/region"> 192, 64, 64, 64 </rect2>
<vector2 name="74/occluder_offset"> 32, 32 </vector2>
<resource name="74/occluder"></resource> <vector2 name="74/navigation_offset"> 32, 32 </vector2>
<resource name="74/navigation"></resource> <vector2 name="74/shape_offset"> 0, 0 </vector2>
<array name="74/shapes" len="0" shared="false">
</array>
<vector2 name="74/one_way_collision_direction"> 0, 0 </vector2>
<real name="74/one_way_collision_max_depth"> 0 </real>
<string name="75/name"> "back_abajo_izquierda" </string>
<resource name="75/texture" external="2"> </resource>
<vector2 name="75/tex_offset"> 0, 0 </vector2>
<resource name="75/material"></resource> <color name="75/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="75/region"> 0, 128, 64, 64 </rect2>
<vector2 name="75/occluder_offset"> 32, 32 </vector2>
<resource name="75/occluder"></resource> <vector2 name="75/navigation_offset"> 32, 32 </vector2>
<resource name="75/navigation"></resource> <vector2 name="75/shape_offset"> 0, 0 </vector2>
<array name="75/shapes" len="0" shared="false">
</array>
<vector2 name="75/one_way_collision_direction"> 0, 0 </vector2>
<real name="75/one_way_collision_max_depth"> 0 </real>
<string name="76/name"> "back_abajo" </string>
<resource name="76/texture" external="2"> </resource>
<vector2 name="76/tex_offset"> 0, 0 </vector2>
<resource name="76/material"></resource> <color name="76/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="76/region"> 64, 128, 64, 64 </rect2>
<vector2 name="76/occluder_offset"> 32, 32 </vector2>
<resource name="76/occluder"></resource> <vector2 name="76/navigation_offset"> 32, 32 </vector2>
<resource name="76/navigation"></resource> <vector2 name="76/shape_offset"> 0, 0 </vector2>
<array name="76/shapes" len="0" shared="false">
</array>
<vector2 name="76/one_way_collision_direction"> 0, 0 </vector2>
<real name="76/one_way_collision_max_depth"> 0 </real>
<string name="77/name"> "back_abajo_derecha" </string>
<resource name="77/texture" external="2"> </resource>
<vector2 name="77/tex_offset"> 0, 0 </vector2>
<resource name="77/material"></resource> <color name="77/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="77/region"> 128, 128, 64, 64 </rect2>
<vector2 name="77/occluder_offset"> 32, 32 </vector2>
<resource name="77/occluder"></resource> <vector2 name="77/navigation_offset"> 32, 32 </vector2>
<resource name="77/navigation"></resource> <vector2 name="77/shape_offset"> 0, 0 </vector2>
<array name="77/shapes" len="0" shared="false">
</array>
<vector2 name="77/one_way_collision_direction"> 0, 0 </vector2>
<real name="77/one_way_collision_max_depth"> 0 </real>
<string name="78/name"> "back_rampa_1" </string>
<resource name="78/texture" external="2"> </resource>
<vector2 name="78/tex_offset"> 0, 0 </vector2>
<resource name="78/material"></resource> <color name="78/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="78/region"> 0, 192, 64, 64 </rect2>
<vector2 name="78/occluder_offset"> 32, 32 </vector2>
<resource name="78/occluder"></resource> <vector2 name="78/navigation_offset"> 32, 32 </vector2>
<resource name="78/navigation"></resource> <vector2 name="78/shape_offset"> 0, 0 </vector2>
<array name="78/shapes" len="0" shared="false">
</array>
<vector2 name="78/one_way_collision_direction"> 0, 0 </vector2>
<real name="78/one_way_collision_max_depth"> 0 </real>
<string name="79/name"> "back_rampa_2" </string>
<resource name="79/texture" external="2"> </resource>
<vector2 name="79/tex_offset"> 0, 0 </vector2>
<resource name="79/material"></resource> <color name="79/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="79/region"> 64, 192, 64, 64 </rect2>
<vector2 name="79/occluder_offset"> 32, 32 </vector2>
<resource name="79/occluder"></resource> <vector2 name="79/navigation_offset"> 32, 32 </vector2>
<resource name="79/navigation"></resource> <vector2 name="79/shape_offset"> 0, 0 </vector2>
<array name="79/shapes" len="0" shared="false">
</array>
<vector2 name="79/one_way_collision_direction"> 0, 0 </vector2>
<real name="79/one_way_collision_max_depth"> 0 </real>
<string name="80/name"> "back_rampa_3" </string>
<resource name="80/texture" external="2"> </resource>
<vector2 name="80/tex_offset"> 0, 0 </vector2>
<resource name="80/material"></resource> <color name="80/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="80/region"> 0, 256, 64, 64 </rect2>
<vector2 name="80/occluder_offset"> 32, 32 </vector2>
<resource name="80/occluder"></resource> <vector2 name="80/navigation_offset"> 32, 32 </vector2>
<resource name="80/navigation"></resource> <vector2 name="80/shape_offset"> 0, 0 </vector2>
<array name="80/shapes" len="0" shared="false">
</array>
<vector2 name="80/one_way_collision_direction"> 0, 0 </vector2>
<real name="80/one_way_collision_max_depth"> 0 </real>
<string name="81/name"> "back_rampa_4" </string>
<resource name="81/texture" external="2"> </resource>
<vector2 name="81/tex_offset"> 0, 0 </vector2>
<resource name="81/material"></resource> <color name="81/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="81/region"> 64, 256, 64, 64 </rect2>
<vector2 name="81/occluder_offset"> 32, 32 </vector2>
<resource name="81/occluder"></resource> <vector2 name="81/navigation_offset"> 32, 32 </vector2>
<resource name="81/navigation"></resource> <vector2 name="81/shape_offset"> 0, 0 </vector2>
<array name="81/shapes" len="0" shared="false">
</array>
<vector2 name="81/one_way_collision_direction"> 0, 0 </vector2>
<real name="81/one_way_collision_max_depth"> 0 </real>
<string name="82/name"> "back_inner_1" </string>
<resource name="82/texture" external="2"> </resource>
<vector2 name="82/tex_offset"> 0, 0 </vector2>
<resource name="82/material"></resource> <color name="82/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="82/region"> 192, 192, 64, 64 </rect2>
<vector2 name="82/occluder_offset"> 32, 32 </vector2>
<resource name="82/occluder"></resource> <vector2 name="82/navigation_offset"> 32, 32 </vector2>
<resource name="82/navigation"></resource> <vector2 name="82/shape_offset"> 0, 0 </vector2>
<array name="82/shapes" len="0" shared="false">
</array>
<vector2 name="82/one_way_collision_direction"> 0, 0 </vector2>
<real name="82/one_way_collision_max_depth"> 0 </real>
<string name="83/name"> "back_inner_2" </string>
<resource name="83/texture" external="2"> </resource>
<vector2 name="83/tex_offset"> 0, 0 </vector2>
<resource name="83/material"></resource> <color name="83/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="83/region"> 256, 192, 64, 64 </rect2>
<vector2 name="83/occluder_offset"> 32, 32 </vector2>
<resource name="83/occluder"></resource> <vector2 name="83/navigation_offset"> 32, 32 </vector2>
<resource name="83/navigation"></resource> <vector2 name="83/shape_offset"> 0, 0 </vector2>
<array name="83/shapes" len="0" shared="false">
</array>
<vector2 name="83/one_way_collision_direction"> 0, 0 </vector2>
<real name="83/one_way_collision_max_depth"> 0 </real>
<string name="84/name"> "back_inner_3" </string>
<resource name="84/texture" external="2"> </resource>
<vector2 name="84/tex_offset"> 0, 0 </vector2>
<resource name="84/material"></resource> <color name="84/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="84/region"> 192, 256, 64, 64 </rect2>
<vector2 name="84/occluder_offset"> 32, 32 </vector2>
<resource name="84/occluder"></resource> <vector2 name="84/navigation_offset"> 32, 32 </vector2>
<resource name="84/navigation"></resource> <vector2 name="84/shape_offset"> 0, 0 </vector2>
<array name="84/shapes" len="0" shared="false">
</array>
<vector2 name="84/one_way_collision_direction"> 0, 0 </vector2>
<real name="84/one_way_collision_max_depth"> 0 </real>
<string name="85/name"> "back_inner_4" </string>
<resource name="85/texture" external="2"> </resource>
<vector2 name="85/tex_offset"> 0, 0 </vector2>
<resource name="85/material"></resource> <color name="85/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="85/region"> 256, 256, 64, 64 </rect2>
<vector2 name="85/occluder_offset"> 32, 32 </vector2>
<resource name="85/occluder"></resource> <vector2 name="85/navigation_offset"> 32, 32 </vector2>
<resource name="85/navigation"></resource> <vector2 name="85/shape_offset"> 0, 0 </vector2>
<array name="85/shapes" len="0" shared="false">
</array>
<vector2 name="85/one_way_collision_direction"> 0, 0 </vector2>
<real name="85/one_way_collision_max_depth"> 0 </real>
<string name="86/name"> "back_izquierda6" </string>
<resource name="86/texture" external="2"> </resource>
<vector2 name="86/tex_offset"> 0, 0 </vector2>
<resource name="86/material"></resource> <color name="86/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="86/region"> 0, 64, 64, 64 </rect2>
<vector2 name="86/occluder_offset"> 32, 32 </vector2>
<resource name="86/occluder"></resource> <vector2 name="86/navigation_offset"> 32, 32 </vector2>
<resource name="86/navigation"></resource> <vector2 name="86/shape_offset"> 0, 0 </vector2>
<array name="86/shapes" len="0" shared="false">
</array>
<vector2 name="86/one_way_collision_direction"> 0, 0 </vector2>
<real name="86/one_way_collision_max_depth"> 0 </real>
<string name="87/name"> "back_izquierda7" </string>
<resource name="87/texture" external="2"> </resource>
<vector2 name="87/tex_offset"> 0, 0 </vector2>
<resource name="87/material"></resource> <color name="87/modulate"> 0.804688, 0.804688, 0.804688, 1 </color>
<rect2 name="87/region"> 0, 64, 64, 64 </rect2>
<vector2 name="87/occluder_offset"> 32, 32 </vector2>
<resource name="87/occluder"></resource> <vector2 name="87/navigation_offset"> 32, 32 </vector2>
<resource name="87/navigation"></resource> <vector2 name="87/shape_offset"> 0, 0 </vector2>
<array name="87/shapes" len="0" shared="false">
</array>
<vector2 name="87/one_way_collision_direction"> 0, 0 </vector2>
<real name="87/one_way_collision_max_depth"> 0 </real>
</main_resource>
</resource_file>

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=30 format=1]
[gd_scene load_steps=38 format=1]
[ext_resource path="res://Scenes/Menu/level_selector.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Maps/map_0.tscn" type="PackedScene" id=2]
@ -7,26 +7,37 @@
[ext_resource path="res://Scenes/Maps/map_2.tscn" type="PackedScene" id=5]
[ext_resource path="res://Scenes/Maps/map_4.tscn" type="PackedScene" id=6]
[ext_resource path="res://Scenes/Maps/map_5.tscn" type="PackedScene" id=7]
[ext_resource path="res://Scenes/Menu/life_hud.gd" type="Script" id=8]
[ext_resource path="res://Scenes/Menu/buttons_hud.gd" type="Script" id=9]
[ext_resource path="res://Sprites/GUI/Buttons/bttn_arrow.png" type="Texture" id=10]
[ext_resource path="res://Sprites/GUI/Buttons/bttn_jump.png" type="Texture" id=11]
[ext_resource path="res://Sprites/GUI/Buttons/bttn.png" type="Texture" id=12]
[ext_resource path="res://Sprites/GUI/Buttons/btn_shoot.png" type="Texture" id=13]
[ext_resource path="res://Scenes/Menu/milk_botte_hud.gd" type="Script" id=14]
[ext_resource path="res://Sprites/GUI/HUD/milbar_outter_2.png" type="Texture" id=15]
[ext_resource path="res://Sprites/GUI/HUD/milkbar_outter_3.png" type="Texture" id=16]
[ext_resource path="res://Sprites/GUI/HUD/milkbar_outter_1.png" type="Texture" id=17]
[ext_resource path="res://Scenes/Menu/cowbells_hud.gd" type="Script" id=18]
[ext_resource path="res://Fonts/pixelated_title.fnt" type="BitmapFont" id=19]
[ext_resource path="res://Sprites/Charasets/cowbell.png" type="Texture" id=20]
[ext_resource path="res://Scenes/Events/cowbell_animation_one_shot.tres" type="Animation" id=21]
[ext_resource path="res://Scenes/Events/cowbell_animations.tres" type="Animation" id=22]
[ext_resource path="res://Scenes/Menu/button_back.tscn" type="PackedScene" id=23]
[ext_resource path="res://Scenes/Menu/in_game_menu.tscn" type="PackedScene" id=24]
[ext_resource path="res://Scenes/Menu/ufo_store.tscn" type="PackedScene" id=25]
[ext_resource path="res://Scenes/Maps/map_6.tscn" type="PackedScene" id=8]
[ext_resource path="res://Scenes/Maps/map_7.tscn" type="PackedScene" id=9]
[ext_resource path="res://Scenes/Maps/map_8.tscn" type="PackedScene" id=10]
[ext_resource path="res://Sprites/Effects/bottom_level_particles.png" type="Texture" id=11]
[ext_resource path="res://Scenes/Menu/life_hud.gd" type="Script" id=12]
[ext_resource path="res://Scenes/Menu/buttons_hud.gd" type="Script" id=13]
[ext_resource path="res://Sprites/GUI/Buttons/bttn_arrow.png" type="Texture" id=14]
[ext_resource path="res://Sprites/GUI/Buttons/bttn_jump.png" type="Texture" id=15]
[ext_resource path="res://Sprites/GUI/Buttons/bttn.png" type="Texture" id=16]
[ext_resource path="res://Sprites/GUI/Buttons/btn_shoot.png" type="Texture" id=17]
[ext_resource path="res://Scenes/Menu/milk_botte_hud.gd" type="Script" id=18]
[ext_resource path="res://Sprites/GUI/HUD/milbar_outter_2.png" type="Texture" id=19]
[ext_resource path="res://Sprites/GUI/HUD/milkbar_outter_3.png" type="Texture" id=20]
[ext_resource path="res://Sprites/GUI/HUD/milkbar_outter_1.png" type="Texture" id=21]
[ext_resource path="res://Scenes/Menu/cowbells_hud.gd" type="Script" id=22]
[ext_resource path="res://Fonts/pixelated_title.fnt" type="BitmapFont" id=23]
[ext_resource path="res://Sprites/Charasets/cowbell.png" type="Texture" id=24]
[ext_resource path="res://Scenes/Events/cowbell_animation_one_shot.tres" type="Animation" id=25]
[ext_resource path="res://Scenes/Events/cowbell_animations.tres" type="Animation" id=26]
[ext_resource path="res://Scenes/Menu/button_back.tscn" type="PackedScene" id=27]
[ext_resource path="res://Scenes/Menu/in_game_menu.tscn" type="PackedScene" id=28]
[ext_resource path="res://Scenes/Menu/ufo_store.tscn" type="PackedScene" id=29]
[ext_resource path="res://Scenes/Effects/retro_shader.tres" type="CanvasItemMaterial" id=30]
[ext_resource path="res://Sprites/Effects/white.png" type="Texture" id=31]
[sub_resource type="Environment" id=1]
[sub_resource type="ColorRamp" id=1]
offsets = FloatArray( 0, 1 )
colors = ColorArray( 1, 1, 1, 1, 1, 1, 1, 0 )
[sub_resource type="Environment" id=2]
ambient_light/enabled = false
ambient_light/color = Color( 0, 0, 0, 1 )
@ -70,15 +81,15 @@ bcs/contrast = 1.0
bcs/saturation = 1.0
srgb/enabled = false
[sub_resource type="World" id=2]
[sub_resource type="World" id=3]
environment = SubResource( 1 )
environment = SubResource( 2 )
[sub_resource type="CanvasItemMaterial" id=3]
[sub_resource type="CanvasItemMaterial" id=4]
shader/shading_mode = 0
[sub_resource type="GDScript" id=4]
[sub_resource type="GDScript" id=5]
script/source = "extends Button
@ -87,6 +98,18 @@ func _on_Back_pressed():
get_node(\"in_game_menu\").show()
"
[sub_resource type="GDScript" id=6]
script/source = "extends TextureFrame
# class member variables go here, for example:
# var a = 2
# var b = \"textvar\"
func _ready():
set_hidden(global.retro_effect)
"
[node name="Global" type="Node2D" groups=[
"control",
]]
@ -104,13 +127,44 @@ margin/top = 0.0
margin/right = 1280.0
margin/bottom = 768.0
script/script = ExtResource( 1 )
levels = [ ExtResource( 2 ), ExtResource( 3 ), ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ) ]
levels = [ ExtResource( 2 ), ExtResource( 3 ), ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ) ]
[node name="BotomLevelParticles" type="Particles2D" parent="Control" groups=[
"bottom_level_particles",
]]
visibility/opacity = 0.6
transform/pos = Vector2( 635, 708.804 )
transform/scale = Vector2( 25, 0.3 )
config/amount = 2
config/lifetime = 0.5
config/emitting = false
config/process_mode = 1
config/half_extents = Vector2( 1, 0 )
config/texture = ExtResource( 11 )
params/direction = 180.0
params/spread = 0.0
params/linear_velocity = 500.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 6.0
params/final_size = 6.0
params/hue_variation = 0.0
params/anim_speed_scale = 0.0
params/anim_initial_pos = 0.0
color/color_ramp = SubResource( 1 )
[node name="Viewport" type="Viewport" parent="Control"]
rect = Rect2( 0, 0, 1280, 768 )
own_world = false
world = SubResource( 2 )
world = SubResource( 3 )
transparent_bg = false
render_target/enabled = false
render_target/v_flip = false
@ -128,7 +182,7 @@ gui/disable_input = false
]]
transform/pos = Vector2( 120, 58 )
script/script = ExtResource( 8 )
script/script = ExtResource( 12 )
heart_inter_distance = 64
initial_heart_pos = Vector2( 32, 0 )
@ -138,7 +192,7 @@ initial_heart_pos = Vector2( 32, 0 )
]]
editor/display_folded = true
script/script = ExtResource( 9 )
script/script = ExtResource( 13 )
[node name="Bttn_U" type="TouchScreenButton" parent="Control/Buttons" groups=[
"onscreen_controls",
@ -147,7 +201,7 @@ script/script = ExtResource( 9 )
visibility/opacity = 0.9
transform/pos = Vector2( 160, 320 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
normal = ExtResource( 14 )
pressed = null
bitmask = null
shape = null
@ -164,7 +218,7 @@ visibility_mode = 0
visibility/opacity = 0.8
transform/pos = Vector2( 1088, 576 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 11 )
normal = ExtResource( 15 )
pressed = null
bitmask = null
shape = null
@ -181,7 +235,7 @@ visibility_mode = 0
visibility/opacity = 0.8
transform/pos = Vector2( 1088, 384 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 12 )
normal = ExtResource( 16 )
pressed = null
bitmask = null
shape = null
@ -198,7 +252,7 @@ visibility_mode = 0
visibility/opacity = 0.9
transform/pos = Vector2( 896, 576 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 13 )
normal = ExtResource( 17 )
pressed = null
bitmask = null
shape = null
@ -216,41 +270,7 @@ visibility/opacity = 0.9
transform/pos = Vector2( 288, 704 )
transform/rot = 180.0
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
pressed = null
bitmask = null
shape = null
shape_centered = true
shape_visible = true
passby_press = true
action = ""
visibility_mode = 0
[node name="Bttn_DR" type="TouchScreenButton" parent="Control/Buttons" groups=[
"onscreen_controls",
]]
visibility/opacity = 0.0
transform/pos = Vector2( 288, 576 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
pressed = null
bitmask = null
shape = null
shape_centered = true
shape_visible = true
passby_press = true
action = ""
visibility_mode = 0
[node name="Bttn_DL" type="TouchScreenButton" parent="Control/Buttons" groups=[
"onscreen_controls",
]]
visibility/opacity = 0.0
transform/pos = Vector2( 32, 576 )
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
normal = ExtResource( 14 )
pressed = null
bitmask = null
shape = null
@ -268,7 +288,7 @@ visibility/opacity = 0.9
transform/pos = Vector2( 416, 448 )
transform/rot = -90.0
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
normal = ExtResource( 14 )
pressed = null
bitmask = null
shape = null
@ -286,7 +306,7 @@ visibility/opacity = 0.9
transform/pos = Vector2( 32, 576 )
transform/rot = 90.0
transform/scale = Vector2( 0.474074, 0.481203 )
normal = ExtResource( 10 )
normal = ExtResource( 14 )
pressed = null
bitmask = null
shape = null
@ -302,13 +322,13 @@ visibility_mode = 0
transform/pos = Vector2( 1205, 73 )
transform/scale = Vector2( 2, 2 )
script/script = ExtResource( 14 )
script/script = ExtResource( 18 )
each_bottle_value = 33.0
bottle_inter_distance = 32
initial_bottle_pos = Vector2( -10, -20 )
sprite1 = ExtResource( 15 )
sprite2 = ExtResource( 16 )
sprite3 = ExtResource( 17 )
sprite1 = ExtResource( 19 )
sprite2 = ExtResource( 20 )
sprite3 = ExtResource( 21 )
[node name="Cowbells" type="Node2D" parent="Control" groups=[
"cowbell_hud",
@ -316,7 +336,7 @@ sprite3 = ExtResource( 17 )
editor/display_folded = true
transform/pos = Vector2( 3, 21 )
script/script = ExtResource( 18 )
script/script = ExtResource( 22 )
[node name="Counter" type="RichTextLabel" parent="Control/Cowbells"]
@ -328,7 +348,7 @@ margin/left = 630.0
margin/top = 30.0
margin/right = 876.0
margin/bottom = 81.0
custom_fonts/normal_font = ExtResource( 19 )
custom_fonts/normal_font = ExtResource( 23 )
bbcode/enabled = true
bbcode/bbcode = "0"
visible_characters = -1
@ -354,10 +374,10 @@ autostart = false
[node name="Sprite" type="Sprite" parent="Control/Cowbells"]
material/material = SubResource( 3 )
material/material = SubResource( 4 )
transform/pos = Vector2( 586, 45 )
transform/scale = Vector2( 3, 3 )
texture = ExtResource( 20 )
texture = ExtResource( 24 )
hframes = 3
[node name="Animation" type="AnimationPlayer" parent="Control/Cowbells/Sprite"]
@ -365,23 +385,23 @@ hframes = 3
playback/process_mode = 0
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/cowbell_animation_one_shot = ExtResource( 21 )
anims/cowbell_animations = ExtResource( 22 )
anims/cowbell_animation_one_shot = ExtResource( 25 )
anims/cowbell_animations = ExtResource( 26 )
playback/active = false
playback/speed = 2.0
blend_times = [ ]
autoplay = ""
[node name="Back" parent="Control" instance=ExtResource( 23 )]
[node name="Back" parent="Control" instance=ExtResource( 27 )]
margin/left = 36.0
margin/top = 34.0
margin/right = 97.0
margin/bottom = 89.0
text = "<"
script/script = SubResource( 4 )
script/script = SubResource( 5 )
[node name="in_game_menu" parent="Control/Back" instance=ExtResource( 24 )]
[node name="in_game_menu" parent="Control/Back" instance=ExtResource( 28 )]
visibility/visible = false
margin/left = -36.0
@ -389,7 +409,26 @@ margin/top = -34.0
margin/right = 1244.0
margin/bottom = 686.0
[node name="Control" parent="Control" instance=ExtResource( 25 )]
[node name="Control" parent="Control" instance=ExtResource( 29 )]
[node name="ScanLine" type="TextureFrame" parent="."]
visibility/opacity = 0.0
visibility/self_opacity = 0.0
material/material = ExtResource( 30 )
focus/ignore_mouse = false
focus/stop_mouse = false
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 0.0
margin/right = 1280.0
margin/bottom = 718.0
texture = ExtResource( 31 )
modulate = Color( 1, 1, 1, 0 )
expand = true
stretch_mode = 0
script/script = SubResource( 6 )
[connection signal="pressed" from="Control/Buttons/Bttn_U" to="Control/Buttons" method="_on_Bttn_U_pressed"]
@ -411,14 +450,6 @@ margin/bottom = 686.0
[connection signal="released" from="Control/Buttons/Bttn_D" to="Control/Buttons" method="_on_Bttn_D_released"]
[connection signal="pressed" from="Control/Buttons/Bttn_DR" to="Control/Buttons" method="_on_Bttn_DR_pressed"]
[connection signal="released" from="Control/Buttons/Bttn_DR" to="Control/Buttons" method="_on_Bttn_DR_released"]
[connection signal="pressed" from="Control/Buttons/Bttn_DL" to="Control/Buttons" method="_on_Bttn_DL_pressed"]
[connection signal="released" from="Control/Buttons/Bttn_DL" to="Control/Buttons" method="_on_Bttn_DL_released"]
[connection signal="pressed" from="Control/Buttons/Bttn_R" to="Control/Buttons" method="_on_Bttn_R_pressed"]
[connection signal="released" from="Control/Buttons/Bttn_R" to="Control/Buttons" method="_on_Bttn_R_released"]

View file

@ -5,8 +5,9 @@ export(PackedScene) var scene
func _ready():
set_process_input(true)
func _on_Button_pressed():
get_tree().set_pause(false)
func _on_Button_pressed():
global.save_game()
get_tree().set_pause(false)
get_tree().change_scene_to(scene)
func _input(ev):

View file

@ -16,4 +16,5 @@ func update_price():
func _on_Heart_button_pressed():
global.buy_heart(price)
update_price()
get_parent().get_node("Milk_button").update_price()

View file

@ -5,7 +5,7 @@ var price = 0
func _ready():
update_price()
func update_price():
func update_price():
price = global.base_price_milk * max(global.increment_price_milk * global.milk_buyed, 1)
get_node("Milk_Label").set_text(str(price))
if (price < global.saved_cowbells):
@ -16,3 +16,4 @@ func update_price():
func _on_Milk_button_pressed():
global.buy_milk(price)
update_price()
get_parent().get_node("Heart_button").update_price()

View file

@ -11,6 +11,12 @@ var increment_price_milk = 2
var hearts_buyed = 0
var milk_buyed = 0
var can_show_in_game_menu = true
var retro_effect = true
var music = true
var sound = true
var bottom_particles = false
var level = 0
var unlocked_levels = 1
var onscreen_controls = true
@ -21,21 +27,25 @@ var max_milk = 100
var max_life = 3
var saved_cowbells = 0
func buy_milk(price):
milk_buyed += 1
func buy(price):
saved_cowbells -= price
max_milk += 33
milk_level = max_milk
get_tree().get_nodes_in_group("level_selector")[0].reset_hud()
cowbells = saved_cowbells
save_game()
func buy_heart(price):
hearts_buyed += 1
saved_cowbells -= price
max_life += 1
life = max_life
func buy_milk(price):
milk_buyed += 1
max_milk += 33
milk_level = max_milk
buy(price)
get_tree().get_nodes_in_group("level_selector")[0].reset_hud()
save_game()
func buy_heart(price):
hearts_buyed += 1
max_life += 1
life = max_life
buy(price)
get_tree().get_nodes_in_group("level_selector")[0].reset_hud()
func release_all():
pass
@ -68,7 +78,12 @@ func save_game():
max_life = max_life,
life = life,
milk_buyed = milk_buyed,
hearts_buyed = hearts_buyed
hearts_buyed = hearts_buyed,
retro_effect=retro_effect,
# NEW STUFF
sound=sound,
music=music,
bottom_particles=bottom_particles
}
save_game.store_line(data.to_json())
save_game.close()
@ -87,11 +102,19 @@ func load_game():
onscreen_controls = current_line["onscreen_controls"]
cowbells = current_line["saved_cowbells"]
saved_cowbells = cowbells
max_milk = current_line["max_milk"]
max_life = current_line["max_life"]
life = current_line["life"]
milk_buyed = current_line["milk_buyed"]
hearts_buyed = current_line["hearts_buyed"]
retro_effect = current_line["retro_effect"]
if (current_line.has("sound")):
sound = current_line["sound"]
music = current_line["music"]
if (current_line.has("bottom_particles")):
bottom_particles = current_line["bottom_particles"]

View file

@ -24,7 +24,7 @@ func hide():
func _input(ev):
if (ev.is_action_pressed(\"ui_cancel\")):
if (ev.is_action_pressed(\"ui_menu\") and global.can_show_in_game_menu):
if (is_hidden()):
show()
else:

View file

@ -16,11 +16,11 @@ func _ready():
element.set_hidden(true)
reset_hud()
func next_level():
if (global.level < levels.size()):
global.level += 1
global.unlocked_levels += 1
if (global.level >= global.unlocked_levels):
global.unlocked_levels += 1
global.save_game()
viewport.get_child(0).queue_free()
#reset_hud()

View file

@ -26,8 +26,7 @@ func _on_focus_change():
var scrolled_bottom = scrolled_top + scroll_container.get_size().y - focused.get_size().y
if focus_offset < scrolled_top or focus_offset >= scrolled_bottom - 200:
scroll_container.set_v_scroll(focus_offset)
"
scroll_container.set_v_scroll(focus_offset)"
[node name="Node2D" type="Node2D"]
@ -71,6 +70,7 @@ margin/right = 897.0
margin/bottom = 422.0
scroll/horizontal = false
scroll/vertical = true
scroll/deadzone = 0
[node name="VBoxContainer" type="VBoxContainer" parent="VButtonArray/ScrollContainer"]
@ -82,7 +82,7 @@ size_flags/vertical = 3
margin/left = 0.0
margin/top = 0.0
margin/right = 885.0
margin/bottom = 605.0
margin/bottom = 920.0
custom_constants/separation = 25
alignment = 0
script/script = SubResource( 1 )
@ -213,6 +213,69 @@ flat = false
script/script = ExtResource( 3 )
id = 5
[node name="Button7" type="Button" parent="VButtonArray/ScrollContainer/VBoxContainer"]
rect/min_size = Vector2( 50, 80 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 3
size_flags/vertical = 2
margin/left = 0.0
margin/top = 630.0
margin/right = 885.0
margin/bottom = 710.0
custom_fonts/font = ExtResource( 2 )
disabled = true
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "EP7"
flat = false
script/script = ExtResource( 3 )
id = 6
[node name="Button8" type="Button" parent="VButtonArray/ScrollContainer/VBoxContainer"]
rect/min_size = Vector2( 50, 80 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 3
size_flags/vertical = 2
margin/left = 0.0
margin/top = 735.0
margin/right = 885.0
margin/bottom = 815.0
custom_fonts/font = ExtResource( 2 )
disabled = true
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "EP8"
flat = false
script/script = ExtResource( 3 )
id = 7
[node name="Button9" type="Button" parent="VButtonArray/ScrollContainer/VBoxContainer"]
rect/min_size = Vector2( 50, 80 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 3
size_flags/vertical = 2
margin/left = 0.0
margin/top = 840.0
margin/right = 885.0
margin/bottom = 920.0
custom_fonts/font = ExtResource( 2 )
disabled = true
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "EP9"
flat = false
script/script = ExtResource( 3 )
id = 8
[node name="Button" parent="VButtonArray" instance=ExtResource( 4 )]
margin/left = 293.0

View file

@ -1,13 +1,15 @@
[gd_scene load_steps=10 format=1]
[gd_scene load_steps=12 format=1]
[ext_resource path="res://Sprites/GUI/Buttons/btn_shoot.png" type="Texture" id=1]
[ext_resource path="res://Fonts/pixelated_title.fnt" type="BitmapFont" id=2]
[ext_resource path="res://Scenes/Menu/bttn_play.gd" type="Script" id=3]
[ext_resource path="res://Scenes/Menu/about_button.gd" type="Script" id=4]
[ext_resource path="res://Music/dangerous_hills.ogg" type="AudioStream" id=5]
[ext_resource path="res://Sprites/GUI/title_base.png" type="Texture" id=6]
[ext_resource path="res://Sprites/GUI/title_revenge.png" type="Texture" id=7]
[ext_resource path="res://Sprites/Effects/leche.png" type="Texture" id=8]
[ext_resource path="res://Scenes/Menu/back_button.gd" type="Script" id=3]
[ext_resource path="res://Scenes/Menu/bttn_play.gd" type="Script" id=4]
[ext_resource path="res://Scenes/Menu/about_button.gd" type="Script" id=5]
[ext_resource path="res://Music/dangerous_hills.ogg" type="AudioStream" id=6]
[ext_resource path="res://Scenes/Events/music.gd" type="Script" id=7]
[ext_resource path="res://Sprites/GUI/title_base.png" type="Texture" id=8]
[ext_resource path="res://Sprites/GUI/title_revenge.png" type="Texture" id=9]
[ext_resource path="res://Sprites/Effects/leche.png" type="Texture" id=10]
[sub_resource type="GDScript" id=1]
@ -35,8 +37,8 @@ focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = -13.0
margin/top = -2.0
margin/left = -31.0
margin/top = -31.0
margin/right = 16.0
margin/bottom = 23.0
flat = false
@ -44,6 +46,26 @@ button/count = 0
button/min_button_size = -1.0
button/align = 1065353216
[node name="Button" type="Button" parent="VButtonArray"]
rect/scale = Vector2( 0.06, 0.1 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 0.0
margin/right = 42.0
margin/bottom = 37.0
custom_fonts/font = ExtResource( 2 )
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "<"
flat = false
script/script = ExtResource( 3 )
scene = null
[node name="play_button" type="Button" parent="VButtonArray"]
anchor/top = 3
@ -54,17 +76,17 @@ focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 1.90735e-06
margin/top = 12.5
margin/right = 290.0
margin/bottom = -35.5
margin/left = 18.0
margin/top = -2.0
margin/right = 308.0
margin/bottom = -50.0
custom_fonts/font = ExtResource( 2 )
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "PLAY_GAME"
flat = false
script/script = ExtResource( 3 )
script/script = ExtResource( 4 )
[node name="settings_button" type="Button" parent="VButtonArray"]
@ -77,10 +99,10 @@ focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 14.5
margin/top = 3.5
margin/right = -274.5
margin/bottom = -44.5
margin/left = 5.5
margin/top = -11.0
margin/right = -283.5
margin/bottom = -59.0
custom_fonts/font = ExtResource( 2 )
toggle_mode = false
enabled_focus_mode = 2
@ -100,41 +122,44 @@ focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 14.5
margin/top = -5.5
margin/right = -274.5
margin/bottom = -53.5
margin/left = 5.5
margin/top = -20.0
margin/right = -283.5
margin/bottom = -68.0
custom_fonts/font = ExtResource( 2 )
toggle_mode = false
enabled_focus_mode = 2
shortcut = null
text = "ABOUT"
flat = false
script/script = ExtResource( 4 )
script/script = ExtResource( 5 )
[node name="StreamPlayer" type="StreamPlayer" parent="."]
[node name="StreamPlayer" type="StreamPlayer" parent="." groups=[
"music",
]]
stream/stream = ExtResource( 5 )
stream/stream = ExtResource( 6 )
stream/play = false
stream/loop = false
stream/volume_db = 5.0
stream/autoplay = true
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0
stream/buffering_ms = 500
script/script = ExtResource( 7 )
[node name="Base" type="Sprite" parent="."]
transform/pos = Vector2( 1.07855, -1.84071 )
transform/scale = Vector2( 0.0864583, 0.128739 )
z/z = -1
texture = ExtResource( 6 )
texture = ExtResource( 8 )
[node name="Revenge" type="Sprite" parent="."]
transform/pos = Vector2( 1.87856, -1.84071 )
transform/scale = Vector2( 0.0864583, 0.128739 )
texture = ExtResource( 7 )
texture = ExtResource( 9 )
[node name="Particles2D" type="Particles2D" parent="."]
@ -147,7 +172,7 @@ config/amount = 8
config/lifetime = 2.5
config/preprocess = 1.0
config/process_mode = 1
config/texture = ExtResource( 8 )
config/texture = ExtResource( 10 )
params/direction = 0.0
params/spread = 1.0
params/linear_velocity = 500.0
@ -179,7 +204,7 @@ config/amount = 8
config/lifetime = 2.5
config/preprocess = 1.0
config/process_mode = 1
config/texture = ExtResource( 8 )
config/texture = ExtResource( 10 )
params/direction = 0.0
params/spread = 1.0
params/linear_velocity = 500.0
@ -211,7 +236,7 @@ config/amount = 6
config/lifetime = 2.5
config/preprocess = 1.0
config/process_mode = 1
config/texture = ExtResource( 8 )
config/texture = ExtResource( 10 )
params/direction = 0.0
params/spread = 1.0
params/linear_velocity = 500.0
@ -243,7 +268,7 @@ config/amount = 6
config/lifetime = 2.5
config/preprocess = 1.0
config/process_mode = 1
config/texture = ExtResource( 8 )
config/texture = ExtResource( 10 )
params/direction = 0.0
params/spread = 1.0
params/linear_velocity = 500.0
@ -264,6 +289,8 @@ randomness/spread = 10.0
randomness/linear_velocity = 0.5
color/color = Color( 0.851562, 0.459045, 0.83623, 1 )
[connection signal="pressed" from="VButtonArray/Button" to="VButtonArray/Button" method="_on_Button_pressed"]
[connection signal="pressed" from="VButtonArray/play_button" to="VButtonArray/play_button" method="_on_Button_pressed"]
[connection signal="pressed" from="VButtonArray/settings_button" to="VButtonArray/settings_button" method="_on_settings_button_pressed"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=6 format=1]
[gd_scene load_steps=10 format=1]
[ext_resource path="res://Fonts/pixelated_regular.fnt" type="BitmapFont" id=1]
[ext_resource path="res://Scenes/Menu/button_back.tscn" type="PackedScene" id=2]
@ -15,6 +15,58 @@ func _ready():
func _on_CheckButton_toggled( pressed ):
global.toggle_on_screen_buttons(pressed)
"
[sub_resource type="GDScript" id=2]
script/source = "extends CheckButton
func _ready():
set_pressed(!global.retro_effect)
func _on_CheckButton1_toggled( pressed ):
global.retro_effect = !pressed
func _on_CheckButton3_toggled( pressed ):
pass # replace with function body
"
[sub_resource type="GDScript" id=3]
script/source = "extends CheckButton
func _ready():
set_pressed(global.music)
func _on_CheckButton2_toggled( pressed ):
global.music = !global.music
"
[sub_resource type="GDScript" id=4]
script/source = "extends CheckButton
func _ready():
set_pressed(global.sound)
func _on_CheckButton3_toggled( pressed ):
global.sound = !global.sound"
[sub_resource type="GDScript" id=5]
script/source = "extends CheckButton
func _ready():
set_pressed(global.bottom_particles)
func _on_CheckButton4_toggled( pressed ):
global.bottom_particles = !global.bottom_particles
"
[node name="Control" type="Control"]
@ -35,9 +87,129 @@ focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 38.0
margin/top = 35.0
margin/top = 34.0
margin/right = 1248.0
margin/bottom = 693.0
margin/bottom = 692.0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
anchor/left = 3
anchor/right = 3
rect/scale = Vector2( 2, 2 )
focus/ignore_mouse = false
focus/stop_mouse = false
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 464.0
margin/top = 109.0
margin/right = -22.0
margin/bottom = 291.0
alignment = 0
__meta__ = {
"_edit_group_": true
}
[node name="CheckButton" type="CheckButton" parent="Panel/VBoxContainer" groups=[
"set_onscreen_buttons",
]]
rect/min_size = Vector2( 0, 30 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 0.0
margin/right = 486.0
margin/bottom = 30.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_SCREEN_CONTROLS"
flat = false
align = 0
script/script = SubResource( 1 )
[node name="CheckButton1" type="CheckButton" parent="Panel/VBoxContainer"]
rect/min_size = Vector2( 0, 30 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 34.0
margin/right = 486.0
margin/bottom = 64.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_RETRO_EFFECT"
flat = false
align = 0
script/script = SubResource( 2 )
[node name="CheckButton2" type="CheckButton" parent="Panel/VBoxContainer"]
rect/min_size = Vector2( 0, 30 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 68.0
margin/right = 486.0
margin/bottom = 98.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_MUSIC"
flat = false
align = 0
script/script = SubResource( 3 )
[node name="CheckButton3" type="CheckButton" parent="Panel/VBoxContainer"]
rect/min_size = Vector2( 0, 30 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 102.0
margin/right = 486.0
margin/bottom = 132.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_SOUND"
flat = false
align = 0
script/script = SubResource( 4 )
[node name="CheckButton4" type="CheckButton" parent="Panel/VBoxContainer"]
rect/min_size = Vector2( 0, 30 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 0.0
margin/top = 136.0
margin/right = 486.0
margin/bottom = 166.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_BOTTOM_PARTICLES"
flat = false
align = 0
script/script = SubResource( 5 )
[node name="VButtonArray" type="VButtonArray" parent="Panel"]
@ -54,28 +226,6 @@ button/count = 0
button/min_button_size = -1.0
button/align = 1065353216
[node name="CheckButton" type="CheckButton" parent="Panel/VButtonArray" groups=[
"set_onscreen_buttons",
]]
rect/scale = Vector2( 2, 2 )
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 96.0
margin/top = -22.0
margin/right = 502.0
margin/bottom = 17.0
custom_fonts/font = ExtResource( 1 )
toggle_mode = true
enabled_focus_mode = 2
shortcut = null
text = "SWITCH_SCREEN_CONTROLS"
flat = false
align = 0
script/script = SubResource( 1 )
[node name="Button" parent="Panel/VButtonArray" instance=ExtResource( 2 )]
margin/left = 372.0
@ -102,6 +252,14 @@ percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
[connection signal="toggled" from="Panel/VButtonArray/CheckButton" to="Panel/VButtonArray/CheckButton" method="_on_CheckButton_toggled"]
[connection signal="toggled" from="Panel/VBoxContainer/CheckButton" to="Panel/VBoxContainer/CheckButton" method="_on_CheckButton_toggled"]
[connection signal="toggled" from="Panel/VBoxContainer/CheckButton1" to="Panel/VBoxContainer/CheckButton1" method="_on_CheckButton1_toggled"]
[connection signal="toggled" from="Panel/VBoxContainer/CheckButton2" to="Panel/VBoxContainer/CheckButton2" method="_on_CheckButton2_toggled"]
[connection signal="toggled" from="Panel/VBoxContainer/CheckButton3" to="Panel/VBoxContainer/CheckButton3" method="_on_CheckButton3_toggled"]
[connection signal="toggled" from="Panel/VBoxContainer/CheckButton4" to="Panel/VBoxContainer/CheckButton4" method="_on_CheckButton4_toggled"]

View file

@ -1,19 +1,26 @@
extends Control
func show():
global.can_show_in_game_menu = false
get_node("Panel").set_hidden(false)
get_node("Panel/VButtonArray/Liftoff").update_button()
get_node("AnimationPlayer").play("slide_down")
get_node("Panel/VButtonArray/Milk_button").update_price()
get_node("Panel/VButtonArray/Heart_button").update_price()
get_node("Panel/VButtonArray/Return").grab_focus()
set_process_input(true)
func hide():
func hide():
global.can_show_in_game_menu = true
get_node("AnimationPlayer").play_backwards("slide_down")
get_node("Panel/VButtonArray/Return").grab_focus()
get_node("Panel/VButtonArray/Return").release_focus()
set_process_input(false)
func _on_Button1_pressed():
get_tree().get_nodes_in_group("player_spawner")[0].deploy()
hide()
func _input(ev):
if (ev.is_action_pressed("ui_cancel")):
_on_Button1_pressed()

View file

@ -60,7 +60,7 @@ margin/top = -19.0
margin/right = 414.0
margin/bottom = 20.0
custom_fonts/font = ExtResource( 2 )
text = "UFO Store"
text = "UFO_STORE"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1

BIN
Screenshots/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 189 KiB

Before After
Before After

BIN
Screenshots/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
Sound/buy.ogg Normal file

Binary file not shown.

BIN
Sound/buy.wav Normal file

Binary file not shown.

BIN
Sprites/Boss/body.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Sprites/Boss/finger.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

BIN
Sprites/Boss/foot_back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

BIN
Sprites/Boss/foot_front.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

BIN
Sprites/Boss/head.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

BIN
Sprites/Boss/wire.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 B

View file

@ -0,0 +1 @@
repeat=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

View file

@ -0,0 +1 @@
repeat=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

BIN
Sprites/Effects/machete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

BIN
Sprites/Effects/white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Some files were not shown because too many files have changed in this diff Show more