first commit

This commit is contained in:
zoe-bat 2021-09-08 10:27:14 +02:00
commit fafcbd1530
223 changed files with 107395 additions and 0 deletions

View file

@ -0,0 +1,8 @@
[gd_scene load_steps=2 format=2]
[sub_resource type="CircleShape2D" id=1]
radius = 4.52453
[node name="DefaultPegCollisionShape" type="CollisionShape2D"]
visible = false
shape = SubResource( 1 )

62
Pegs/Formations/U.tscn Normal file
View file

@ -0,0 +1,62 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Pegs/Purple/PurplePeg.tscn" type="PackedScene" id=2]
[node name="U" type="Node2D"]
[node name="PurplePeg17" parent="." instance=ExtResource( 2 )]
position = Vector2( 224, 176 )
[node name="PurplePeg" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 48 )
[node name="PurplePeg2" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 48 )
[node name="PurplePeg3" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 64 )
[node name="PurplePeg4" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 64 )
[node name="PurplePeg5" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 80 )
[node name="PurplePeg6" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 80 )
[node name="PurplePeg7" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 96 )
[node name="PurplePeg8" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 96 )
[node name="PurplePeg9" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 112 )
[node name="PurplePeg10" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 112 )
[node name="PurplePeg11" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 128 )
[node name="PurplePeg12" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 128 )
[node name="PurplePeg13" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 144 )
[node name="PurplePeg14" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 144 )
[node name="PurplePeg15" parent="." instance=ExtResource( 2 )]
position = Vector2( 200, 160 )
[node name="PurplePeg18" parent="." instance=ExtResource( 2 )]
position = Vector2( 208, 172 )
[node name="PurplePeg19" parent="." instance=ExtResource( 2 )]
position = Vector2( 240, 172 )
[node name="PurplePeg16" parent="." instance=ExtResource( 2 )]
position = Vector2( 248, 160 )

31
Pegs/Green/GreenPeg.gd Normal file
View file

@ -0,0 +1,31 @@
extends StaticBody2D
var can_be_exploded = false
var particle_emitting_direction = Vector2.ZERO
# turns the pegs green
func make_green():
explode()
func explode():
if(can_be_exploded):
spawn_hit_particles(particle_emitting_direction)
queue_free()
func _on_GraceTimer_timeout():
can_be_exploded = true
func set_particle_direction(vector):
particle_emitting_direction = vector
# spawns particles
func spawn_hit_particles(vector):
set_particle_direction(vector)
var Hit_effect = load("res://Pegs/Green/HitParticles.tscn")
var hit_effect = Hit_effect.instance()
var main = get_tree().current_scene
hit_effect.position = position
hit_effect.emitting_direction = particle_emitting_direction
main.add_child(hit_effect)

45
Pegs/Green/GreenPeg.tscn Normal file
View file

@ -0,0 +1,45 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://Pegs/Green/green.png" type="Texture" id=1]
[ext_resource path="res://Pegs/Green/GreenPeg.gd" type="Script" id=2]
[ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=4]
[ext_resource path="res://Pegs/Green/GreenPegAnimationPlayer.gd" type="Script" id=5]
[sub_resource type="PhysicsMaterial" id=1]
[sub_resource type="Animation" id=2]
length = 0.5
step = 0.05
tracks/0/type = "value"
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.01, 0.1, 0.2, 0.3, 0.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1.75, 1.75 ), Vector2( 0.5, 0.5 ), Vector2( 1.5, 1.5 ), Vector2( 0.75, 0.75 ), Vector2( 1, 1 ) ]
}
[node name="GreenPeg" type="StaticBody2D"]
collision_mask = 0
physics_material_override = SubResource( 1 )
script = ExtResource( 2 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 1 )
[node name="DefaultPegCollisionShape" parent="." instance=ExtResource( 4 )]
[node name="GreenPegAnimationPlayer" type="AnimationPlayer" parent="."]
anims/GetBigger = SubResource( 2 )
script = ExtResource( 5 )
[node name="GraceTimer" type="Timer" parent="."]
wait_time = 0.25
one_shot = true
autostart = true
[connection signal="timeout" from="GraceTimer" to="." method="_on_GraceTimer_timeout"]

View file

@ -0,0 +1,11 @@
extends AnimationPlayer
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
play("GetBigger")

View file

@ -0,0 +1,32 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://Pegs/HitParticles.gd" type="Script" id=1]
[ext_resource path="res://Effects/greenParticle.png" type="Texture" id=2]
[sub_resource type="ParticlesMaterial" id=1]
emission_shape = 1
emission_sphere_radius = 2.0
flag_disable_z = true
direction = Vector3( 0, 0, 0 )
spread = 24.0
gravity = Vector3( 0, 100, 0 )
initial_velocity = 100.0
initial_velocity_random = 0.5
orbit_velocity = 0.0
orbit_velocity_random = 0.0
radial_accel_random = 1.0
damping = 50.0
damping_random = 0.5
[node name="HitParticles" type="Particles2D"]
scale = Vector2( 1.6, 1.6 )
z_index = -10
emitting = false
amount = 16
lifetime = 5.0
one_shot = true
explosiveness = 0.95
local_coords = false
process_material = SubResource( 1 )
texture = ExtResource( 2 )
script = ExtResource( 1 )

BIN
Pegs/Green/green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/green.png-7bc01a95ef40770eb0d9b5e6c38ddf7f.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Pegs/Green/green.png"
dest_files=[ "res://.import/green.png-7bc01a95ef40770eb0d9b5e6c38ddf7f.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

9
Pegs/HitParticles.gd Normal file
View file

@ -0,0 +1,9 @@
extends Particles2D
var emitting_direction = Vector2();
func _ready():
emitting = true
#set particle direction
var x = emitting_direction.x
var y = emitting_direction.y
process_material.set_direction(Vector3(x,y,0))

BIN
Pegs/Pink/Pink.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

34
Pegs/Pink/Pink.png.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Pink.png-aeb2336a145dc2e1b4431d537218029c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Pegs/Pink/Pink.png"
dest_files=[ "res://.import/Pink.png-aeb2336a145dc2e1b4431d537218029c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

46
Pegs/Pink/PinkPeg.gd Normal file
View file

@ -0,0 +1,46 @@
extends StaticBody2D
func _ready():
GameStats.pinks_left += 1
# turns the pegs green
func make_green():
# preload a green peg
var Green_peg = load("res://Pegs/Green/GreenPeg.tscn")
# instance it
var green_peg = Green_peg.instance()
# global position in case the parent node gets transformed
green_peg.global_position = global_position
# get the main scene of current peg and add new peg to it
var main = get_tree().current_scene
main.add_child(green_peg)
#finally delete the old peg
GameStats.pinks_left -= 1
win_level()
Engine.time_scale = 1
queue_free()
func win_level():
if GameStats.pinks_left <= 0:
GameStats.level_won = true
func bouncy():
pass
# below is the slowmo stuff
func _on_Area2D_body_entered(_body):
Engine.time_scale = clamp(Engine.time_scale * 0.25, 0.1, 1)
$SlowmoTimer.start()
func _on_Area2D_body_exited(_body):
Engine.time_scale = 1
func _on_LastPegCollision_body_entered(_body):
if GameStats.pinks_left <= 1:
Engine.time_scale = clamp(Engine.time_scale * 0.15, 0.1, 1)
$SlowmoTimer.start()
func _on_Timer_timeout():
Engine.time_scale = 1

43
Pegs/Pink/PinkPeg.tscn Normal file
View file

@ -0,0 +1,43 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://Pegs/Pink/PinkPeg.gd" type="Script" id=1]
[ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=2]
[ext_resource path="res://Pegs/Pink/Pink.png" type="Texture" id=3]
[sub_resource type="CircleShape2D" id=2]
radius = 10.2018
[sub_resource type="CircleShape2D" id=1]
radius = 33.0151
[node name="PinkPeg" type="StaticBody2D"]
script = ExtResource( 1 )
[node name="RegularCollision" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="RegularCollision"]
shape = SubResource( 2 )
[node name="SlowmoTimer" type="Timer" parent="."]
wait_time = 0.075
one_shot = true
[node name="DefaultPegCollisionShape" parent="." instance=ExtResource( 2 )]
[node name="Pink" type="Sprite" parent="."]
texture = ExtResource( 3 )
[node name="LastPegCollision" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="LastPegCollision"]
shape = SubResource( 1 )
[connection signal="body_entered" from="RegularCollision" to="." method="_on_Area2D_body_entered"]
[connection signal="body_exited" from="RegularCollision" to="." method="_on_Area2D_body_exited"]
[connection signal="timeout" from="SlowmoTimer" to="." method="_on_Timer_timeout"]
[connection signal="body_entered" from="LastPegCollision" to="." method="_on_LastPegCollision_body_entered"]
[connection signal="body_exited" from="LastPegCollision" to="." method="_on_Area2D_body_exited"]

21
Pegs/Purple/PurplePeg.gd Normal file
View file

@ -0,0 +1,21 @@
extends StaticBody2D
# turns the pegs green
func make_green():
# preload a green peg
var Green_peg = load("res://Pegs/Green/GreenPeg.tscn")
# instance it
var green_peg = Green_peg.instance()
# take care of positioning
# green_peg.rotation = rotation + 5
green_peg.global_position = global_position
# get the main scene of current peg and add new peg to it
var main = get_tree().current_scene
main.add_child(green_peg)
#finally delete the old peg
queue_free()
func bouncy():
pass

View file

@ -0,0 +1,15 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://Pegs/Purple/PurplePeg.gd" type="Script" id=1]
[ext_resource path="res://Pegs/Purple/purple.png" type="Texture" id=2]
[ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=3]
[node name="PurplePeg" type="StaticBody2D"]
collision_mask = 0
script = ExtResource( 1 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
[node name="DefaultPegCollisionShape" parent="." instance=ExtResource( 3 )]
visible = false

BIN
Pegs/Purple/purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/purple.png-88dbc1a6ab27250871e0c679caeb21f9.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Pegs/Purple/purple.png"
dest_files=[ "res://.import/purple.png-88dbc1a6ab27250871e0c679caeb21f9.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0