mirror of
https://git.kittycat.homes/zoe/pegchamp.git
synced 2024-08-15 03:15:39 +00:00
added voice acting credit and scoring
This commit is contained in:
parent
5503c2d05a
commit
ad8de1dbb7
41 changed files with 323 additions and 57 deletions
|
@ -1,3 +1,3 @@
|
|||
source_md5="6d2b131152ff4c12a5d330d6f862f330"
|
||||
dest_md5="cbb7597b1e76bec657145883a9d348e8"
|
||||
source_md5="14824d611b8b2304d2f105c934a4fb69"
|
||||
dest_md5="2d9d5bae626c7b63ec55cc11d298e64d"
|
||||
|
||||
|
|
Binary file not shown.
3
.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.md5
Normal file
3
.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.md5
Normal file
|
@ -0,0 +1,3 @@
|
|||
source_md5="8da2ceb0a95bfe836dba34188ff0db46"
|
||||
dest_md5="aad4aa76aff17c284ffebc24cee69b33"
|
||||
|
BIN
.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.stex
Normal file
BIN
.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.stex
Normal file
Binary file not shown.
3
.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.md5
Normal file
3
.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.md5
Normal file
|
@ -0,0 +1,3 @@
|
|||
source_md5="3e7b8d3bc36e5e71d2f99b700bcb8859"
|
||||
dest_md5="17a596be2505bea6b965a79bedd0ede7"
|
||||
|
BIN
.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.stex
Normal file
BIN
.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.stex
Normal file
Binary file not shown.
3
.import/stab.wav-19e7aa04662bc0373354bab034382235.md5
Normal file
3
.import/stab.wav-19e7aa04662bc0373354bab034382235.md5
Normal file
|
@ -0,0 +1,3 @@
|
|||
source_md5="d674f93aa94b3a7221d23af012ba824f"
|
||||
dest_md5="60273cb6ce548a77565526f73284002a"
|
||||
|
BIN
.import/stab.wav-19e7aa04662bc0373354bab034382235.sample
Normal file
BIN
.import/stab.wav-19e7aa04662bc0373354bab034382235.sample
Normal file
Binary file not shown.
BIN
Aseprite/bubble.ase
Normal file
BIN
Aseprite/bubble.ase
Normal file
Binary file not shown.
BIN
Aseprite/bubble.png
Normal file
BIN
Aseprite/bubble.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 97 B |
34
Aseprite/bubble.png.import
Normal file
34
Aseprite/bubble.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Aseprite/bubble.png"
|
||||
dest_files=[ "res://.import/bubble.png-331ca4f2049fae98613a0ccdc7c1eaa1.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
|
|
@ -39,6 +39,8 @@ func turn_pegs_green(collider):
|
|||
if (collider.has_method("make_green")):
|
||||
#if yes then do it
|
||||
collider.make_green()
|
||||
if GameStats.pinks_left <= 0:
|
||||
$Sprite/WinParticles.visible = true
|
||||
|
||||
func set_particle_direction(collider):
|
||||
if (collider.has_method("set_particle_direction")):
|
||||
|
|
|
@ -1,13 +1,24 @@
|
|||
[gd_scene load_steps=7 format=2]
|
||||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://Ball/sprite.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Ball/Ball.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Ball/Ball.tres" type="PhysicsMaterial" id=3]
|
||||
[ext_resource path="res://Ball/BallCollision.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://SFX/Scratch/BallReset.wav" type="AudioStream" id=5]
|
||||
[ext_resource path="res://Effects/greenParticle.png" type="Texture" id=6]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "reset"
|
||||
[sub_resource type="ParticlesMaterial" id=1]
|
||||
lifetime_randomness = 0.5
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 8.0
|
||||
flag_disable_z = true
|
||||
spread = 0.0
|
||||
gravity = Vector3( 0, -30, 0 )
|
||||
orbit_velocity = 0.0
|
||||
orbit_velocity_random = 0.0
|
||||
linear_accel = 20.0
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
length = 1.5
|
||||
step = 0.05
|
||||
tracks/0/type = "method"
|
||||
|
@ -67,6 +78,15 @@ remote_path = NodePath("../../../Camera2D")
|
|||
position = Vector2( 0, -10 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="WinParticles" type="Particles2D" parent="Sprite"]
|
||||
visible = false
|
||||
z_index = 10
|
||||
amount = 64
|
||||
lifetime = 1.5
|
||||
local_coords = false
|
||||
process_material = SubResource( 1 )
|
||||
texture = ExtResource( 6 )
|
||||
|
||||
[node name="BallCollision" parent="." instance=ExtResource( 4 )]
|
||||
visible = true
|
||||
|
||||
|
@ -74,7 +94,7 @@ visible = true
|
|||
wait_time = 0.1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/reset = SubResource( 1 )
|
||||
anims/reset = SubResource( 2 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 5 )
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=9 format=2]
|
||||
[gd_scene load_steps=10 format=2]
|
||||
|
||||
[ext_resource path="res://Effects/confetti2.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Bucket/Confetti.tres" type="Material" id=2]
|
||||
|
@ -7,6 +7,7 @@
|
|||
[ext_resource path="res://Bucket/Confetti.gd" type="Script" id=5]
|
||||
[ext_resource path="res://Menu/Theme.tres" type="Theme" id=6]
|
||||
[ext_resource path="res://Ball/sprite.png" type="Texture" id=7]
|
||||
[ext_resource path="res://SFX/stab.wav" type="AudioStream" id=8]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "+1Ball"
|
||||
|
@ -88,4 +89,9 @@ __meta__ = {
|
|||
position = Vector2( -13, -5 )
|
||||
texture = ExtResource( 7 )
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource( 8 )
|
||||
volume_db = 4.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="KillTimer" to="." method="_on_KillTimer_timeout"]
|
||||
|
|
BIN
Effects/bubble.png
Normal file
BIN
Effects/bubble.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 91 B |
34
Effects/bubble.png.import
Normal file
34
Effects/bubble.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Effects/bubble.png"
|
||||
dest_files=[ "res://.import/bubble.png-be029d8fe1cae70c486a083042aa2d2d.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
|
|
@ -198,3 +198,4 @@ scene = "res://Stages/EmptyStage.tscn"
|
|||
[node name="Transition" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="Cannon" parent="." instance=ExtResource( 4 )]
|
||||
visible = false
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
extends CenterContainer
|
||||
|
||||
func _process(delta):
|
||||
func _process(_delta):
|
||||
if Input.is_action_just_pressed("pause"):
|
||||
_on_pause_button_pressed()
|
||||
|
||||
func _on_pause_button_pressed():
|
||||
get_tree().paused = !get_tree().paused
|
||||
visible = !visible
|
||||
if !GameStats.level_won:
|
||||
get_tree().paused = !get_tree().paused
|
||||
visible = !visible
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=17 format=2]
|
||||
[gd_scene load_steps=18 format=2]
|
||||
|
||||
[ext_resource path="res://Menu/Buttons/RestartButton.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://Menu/Icons/Play/Play2.png" type="Texture" id=2]
|
||||
|
@ -16,6 +16,7 @@
|
|||
[ext_resource path="res://Menu/Buttons/AudioSliders/MusicVolume2.png" type="Texture" id=14]
|
||||
[ext_resource path="res://Menu/Theme.tres" type="Theme" id=15]
|
||||
[ext_resource path="res://Menu/Buttons/Fullscreen/FullscreenButton.tscn" type="PackedScene" id=16]
|
||||
[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=17]
|
||||
|
||||
[node name="Pause" type="CanvasLayer"]
|
||||
pause_mode = 2
|
||||
|
@ -74,6 +75,8 @@ texture_normal = ExtResource( 8 )
|
|||
texture_pressed = ExtResource( 9 )
|
||||
texture_hover = ExtResource( 2 )
|
||||
|
||||
[node name="ButtonSFX" parent="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" instance=ExtResource( 17 )]
|
||||
|
||||
[node name="SFX Volume" parent="Pause/PanelContainer/HBoxContainer" instance=ExtResource( 12 )]
|
||||
margin_top = 36.0
|
||||
margin_right = 140.0
|
||||
|
@ -92,4 +95,7 @@ bus_channel = "Music"
|
|||
|
||||
[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/LevelSelectIconButton" to="Pause" method="_on_pause_button_pressed"]
|
||||
[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/RestartButton" to="Pause" method="_on_pause_button_pressed"]
|
||||
[connection signal="focus_entered" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" to="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume/ButtonSFX" method="on_hover"]
|
||||
[connection signal="mouse_entered" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" to="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume/ButtonSFX" method="on_hover"]
|
||||
[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" to="Pause" method="_on_pause_button_pressed"]
|
||||
[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" to="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume/ButtonSFX" method="on_select"]
|
||||
|
|
|
@ -101,7 +101,7 @@ border_width_right = 1
|
|||
border_width_bottom = 1
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=23]
|
||||
[sub_resource type="StyleBoxFlat" id=12]
|
||||
content_margin_left = 2.0
|
||||
content_margin_right = 2.0
|
||||
content_margin_top = 2.0
|
||||
|
@ -118,39 +118,39 @@ expand_margin_right = 2.0
|
|||
expand_margin_top = 2.0
|
||||
expand_margin_bottom = 2.0
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=12]
|
||||
[sub_resource type="StyleBoxFlat" id=13]
|
||||
content_margin_left = 2.0
|
||||
content_margin_right = 2.0
|
||||
content_margin_top = 2.0
|
||||
content_margin_bottom = 2.0
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=13]
|
||||
content_margin_left = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=14]
|
||||
content_margin_left = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=15]
|
||||
content_margin_left = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 1
|
||||
border_width_top = 1
|
||||
border_width_right = 1
|
||||
border_width_bottom = 1
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=15]
|
||||
[sub_resource type="StyleBoxFlat" id=16]
|
||||
content_margin_left = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_top = 4.0
|
||||
|
@ -163,24 +163,16 @@ border_width_bottom = 1
|
|||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=16]
|
||||
[sub_resource type="StyleBoxFlat" id=17]
|
||||
bg_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=17]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=18]
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=19]
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=20]
|
||||
bg_color = Color( 1, 0.701961, 0.796078, 1 )
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
|
@ -188,7 +180,7 @@ border_width_bottom = 2
|
|||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=21]
|
||||
bg_color = Color( 0.588235, 0.984314, 0.780392, 1 )
|
||||
bg_color = Color( 1, 0.701961, 0.796078, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
|
@ -196,6 +188,14 @@ border_width_bottom = 2
|
|||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=22]
|
||||
bg_color = Color( 0.588235, 0.984314, 0.780392, 1 )
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=23]
|
||||
content_margin_right = 16.0
|
||||
bg_color = Color( 0.847059, 0.74902, 0.847059, 1 )
|
||||
border_width_left = 4
|
||||
|
@ -424,7 +424,7 @@ OptionButton/styles/hover = null
|
|||
OptionButton/styles/normal = null
|
||||
OptionButton/styles/pressed = null
|
||||
Panel/styles/panel = SubResource( 11 )
|
||||
PanelContainer/styles/panel = SubResource( 23 )
|
||||
PanelContainer/styles/panel = SubResource( 12 )
|
||||
PopupDialog/styles/panel = null
|
||||
PopupMenu/colors/font_color = Color( 0, 0, 0, 1 )
|
||||
PopupMenu/colors/font_color_accel = Color( 0, 0, 0, 1 )
|
||||
|
@ -468,7 +468,7 @@ RichTextLabel/fonts/mono_font = null
|
|||
RichTextLabel/fonts/normal_font = null
|
||||
RichTextLabel/styles/focus = null
|
||||
RichTextLabel/styles/normal = null
|
||||
ScrollContainer/styles/bg = SubResource( 12 )
|
||||
ScrollContainer/styles/bg = SubResource( 13 )
|
||||
SpinBox/icons/updown = null
|
||||
TabContainer/colors/font_color_bg = Color( 0, 0, 0, 1 )
|
||||
TabContainer/colors/font_color_disabled = Color( 0, 0, 0, 1 )
|
||||
|
@ -485,10 +485,10 @@ TabContainer/icons/increment = null
|
|||
TabContainer/icons/increment_highlight = null
|
||||
TabContainer/icons/menu = null
|
||||
TabContainer/icons/menu_highlight = null
|
||||
TabContainer/styles/panel = SubResource( 13 )
|
||||
TabContainer/styles/tab_bg = SubResource( 14 )
|
||||
TabContainer/styles/panel = SubResource( 14 )
|
||||
TabContainer/styles/tab_bg = SubResource( 15 )
|
||||
TabContainer/styles/tab_disabled = null
|
||||
TabContainer/styles/tab_fg = SubResource( 15 )
|
||||
TabContainer/styles/tab_fg = SubResource( 16 )
|
||||
Tabs/colors/font_color_bg = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
Tabs/colors/font_color_disabled = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
Tabs/colors/font_color_fg = Color( 0.454902, 0.337255, 0.607843, 1 )
|
||||
|
@ -502,10 +502,10 @@ Tabs/icons/decrement = null
|
|||
Tabs/icons/decrement_highlight = null
|
||||
Tabs/icons/increment = null
|
||||
Tabs/icons/increment_highlight = null
|
||||
Tabs/styles/button = SubResource( 16 )
|
||||
Tabs/styles/button = SubResource( 17 )
|
||||
Tabs/styles/button_pressed = null
|
||||
Tabs/styles/panel = SubResource( 17 )
|
||||
Tabs/styles/tab_bg = SubResource( 18 )
|
||||
Tabs/styles/panel = SubResource( 18 )
|
||||
Tabs/styles/tab_bg = SubResource( 19 )
|
||||
Tabs/styles/tab_disabled = null
|
||||
Tabs/styles/tab_fg = null
|
||||
TextEdit/colors/background_color = Color( 0, 0, 0, 1 )
|
||||
|
@ -605,10 +605,10 @@ VScrollBar/icons/decrement = null
|
|||
VScrollBar/icons/decrement_highlight = null
|
||||
VScrollBar/icons/increment = null
|
||||
VScrollBar/icons/increment_highlight = null
|
||||
VScrollBar/styles/grabber = SubResource( 19 )
|
||||
VScrollBar/styles/grabber_highlight = SubResource( 20 )
|
||||
VScrollBar/styles/grabber_pressed = SubResource( 21 )
|
||||
VScrollBar/styles/scroll = SubResource( 22 )
|
||||
VScrollBar/styles/grabber = SubResource( 20 )
|
||||
VScrollBar/styles/grabber_highlight = SubResource( 21 )
|
||||
VScrollBar/styles/grabber_pressed = SubResource( 22 )
|
||||
VScrollBar/styles/scroll = SubResource( 23 )
|
||||
VScrollBar/styles/scroll_focus = null
|
||||
VSeparator/constants/separation = 4
|
||||
VSeparator/styles/separator = null
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
extends AudioStreamPlayer
|
||||
|
||||
func _process(delta):
|
||||
func _process(_delta):
|
||||
var speed = clamp(Engine.time_scale, 0.99, 1.1)
|
||||
pitch_scale = lerp(pitch_scale, speed, 0.01)
|
||||
|
|
|
@ -11,6 +11,7 @@ func make_green():
|
|||
|
||||
func explode():
|
||||
if can_be_destroyed:
|
||||
$ScoreCounter.trigger()
|
||||
spawn_hit_particles(particle_emitting_direction)
|
||||
queue_free()
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
[gd_scene load_steps=8 format=2]
|
||||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://Pegs/Green/bar.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Pegs/Green/GreenBar.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Pegs/Green/GraceTimer.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://Pegs/Green/HitSFX.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://Pegs/ScoreCounter.tscn" type="PackedScene" id=5]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 16, 3 )
|
||||
|
@ -47,4 +48,6 @@ shape = SubResource( 2 )
|
|||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/spawn = SubResource( 3 )
|
||||
|
||||
[node name="ScoreCounter" parent="." instance=ExtResource( 5 )]
|
||||
|
||||
[connection signal="timeout" from="GraceTimer" to="." method="_on_GraceTimer_timeout"]
|
||||
|
|
|
@ -9,6 +9,7 @@ func make_green():
|
|||
|
||||
func explode():
|
||||
if(can_be_exploded):
|
||||
$ScoreCounter.trigger()
|
||||
spawn_hit_particles(particle_emitting_direction)
|
||||
queue_free()
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=9 format=2]
|
||||
[gd_scene load_steps=10 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]
|
||||
|
@ -6,6 +6,7 @@
|
|||
[ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://Pegs/Green/GreenPegAnimationPlayer.gd" type="Script" id=5]
|
||||
[ext_resource path="res://Pegs/Green/HitSFX.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://Pegs/ScoreCounter.tscn" type="PackedScene" id=7]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=1]
|
||||
|
||||
|
@ -43,4 +44,6 @@ script = ExtResource( 5 )
|
|||
|
||||
[node name="GraceTimer" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="ScoreCounter" parent="." instance=ExtResource( 7 )]
|
||||
|
||||
[connection signal="timeout" from="GraceTimer" to="." method="_on_GraceTimer_timeout"]
|
||||
|
|
|
@ -16,6 +16,9 @@ func make_green():
|
|||
var main = get_tree().current_scene
|
||||
main.add_child(green_peg)
|
||||
|
||||
# add score
|
||||
$ScoreCounter.trigger()
|
||||
|
||||
#finally delete the old peg
|
||||
GameStats.pinks_left -= 1
|
||||
GameStats.add_to_multiplier()
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=7 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]
|
||||
[ext_resource path="res://Pegs/ScoreCounter.tscn" type="PackedScene" id=4]
|
||||
|
||||
[sub_resource type="CircleShape2D" id=1]
|
||||
radius = 10.2018
|
||||
|
@ -36,6 +37,9 @@ collision_mask = 4
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="LastPegCollision"]
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="ScoreCounter" parent="." instance=ExtResource( 4 )]
|
||||
base_score = 10
|
||||
|
||||
[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"]
|
||||
|
|
|
@ -8,6 +8,8 @@ func make_green():
|
|||
green_bar.global_position = global_position
|
||||
green_bar.global_rotation = global_rotation
|
||||
|
||||
$ScoreCounter.trigger()
|
||||
|
||||
main.add_child(green_bar)
|
||||
GameStats.add_to_multiplier()
|
||||
queue_free()
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://Pegs/Purple/PurpleBar.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Pegs/Purple/bar.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Pegs/ScoreCounter.tscn" type="PackedScene" id=3]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=1]
|
||||
friction = 5.0
|
||||
|
@ -25,3 +26,5 @@ shape = SubResource( 2 )
|
|||
|
||||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[node name="ScoreCounter" parent="." instance=ExtResource( 3 )]
|
||||
|
|
|
@ -10,6 +10,10 @@ func make_green():
|
|||
# green_peg.rotation = rotation + 5
|
||||
green_peg.global_position = global_position
|
||||
|
||||
|
||||
# add score
|
||||
$ScoreCounter.trigger()
|
||||
|
||||
# get the main scene of current peg and add new peg to it
|
||||
var main = get_tree().current_scene
|
||||
main.add_child(green_peg)
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=5 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]
|
||||
[ext_resource path="res://Pegs/ScoreCounter.tscn" type="PackedScene" id=4]
|
||||
|
||||
[node name="PurplePeg" type="StaticBody2D"]
|
||||
collision_mask = 0
|
||||
|
@ -12,3 +13,5 @@ script = ExtResource( 1 )
|
|||
texture = ExtResource( 2 )
|
||||
|
||||
[node name="DefaultPegCollisionShape" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="ScoreCounter" parent="." instance=ExtResource( 4 )]
|
||||
|
|
25
Pegs/ScoreCounter.gd
Normal file
25
Pegs/ScoreCounter.gd
Normal file
|
@ -0,0 +1,25 @@
|
|||
extends Node2D
|
||||
|
||||
export var base_score = 1
|
||||
|
||||
func trigger():
|
||||
add_score()
|
||||
|
||||
func add_score():
|
||||
var score = base_score * GameStats.multiplier
|
||||
GameStats.score += score
|
||||
|
||||
#Todo remove
|
||||
print(GameStats.score)
|
||||
|
||||
|
||||
var main = get_tree().current_scene
|
||||
var Scorelabel = preload("res://Pegs/ScoreLabel.tscn")
|
||||
var scorelabel = Scorelabel.instance()
|
||||
main.add_child(scorelabel)
|
||||
scorelabel.global_position = global_position
|
||||
scorelabel.trigger(String(score))
|
||||
|
||||
func delete():
|
||||
queue_free()
|
||||
|
6
Pegs/ScoreCounter.tscn
Normal file
6
Pegs/ScoreCounter.tscn
Normal file
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Pegs/ScoreCounter.gd" type="Script" id=1]
|
||||
|
||||
[node name="ScoreCounter" type="Node2D"]
|
||||
script = ExtResource( 1 )
|
12
Pegs/ScoreLabel.gd
Normal file
12
Pegs/ScoreLabel.gd
Normal file
|
@ -0,0 +1,12 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
func trigger(display_text):
|
||||
$Node2D.global_position = global_position
|
||||
$Node2D/Label.text = String(display_text)
|
||||
$Node2D/Label.visible = true
|
||||
|
||||
$AnimationPlayer.play("move_up")
|
||||
|
||||
func delete():
|
||||
queue_free()
|
56
Pegs/ScoreLabel.tscn
Normal file
56
Pegs/ScoreLabel.tscn
Normal file
|
@ -0,0 +1,56 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Menu/Theme.tres" type="Theme" id=1]
|
||||
[ext_resource path="res://Pegs/ScoreLabel.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "move_up"
|
||||
tracks/0/type = "method"
|
||||
tracks/0/path = NodePath(".")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 1 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"values": [ {
|
||||
"args": [ ],
|
||||
"method": "delete"
|
||||
} ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Node2D:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 0.5, 1 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 0 ), Vector2( 0, -60 ), Vector2( 0, -64 ) ]
|
||||
}
|
||||
|
||||
[node name="ScoreLabel" type="Node2D"]
|
||||
z_index = 1000
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/move_up = SubResource( 1 )
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="Label" type="Label" parent="Node2D"]
|
||||
margin_left = -0.010148
|
||||
margin_top = 0.00656128
|
||||
margin_right = 39.9899
|
||||
margin_bottom = 18.0066
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 5
|
||||
theme = ExtResource( 1 )
|
||||
text = "69"
|
||||
max_lines_visible = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
Binary file not shown.
BIN
SFX/stab.wav
Normal file
BIN
SFX/stab.wav
Normal file
Binary file not shown.
21
SFX/stab.wav.import
Normal file
21
SFX/stab.wav.import
Normal file
|
@ -0,0 +1,21 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/stab.wav-19e7aa04662bc0373354bab034382235.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://SFX/stab.wav"
|
||||
dest_files=[ "res://.import/stab.wav-19e7aa04662bc0373354bab034382235.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop=false
|
||||
compress/mode=0
|
|
@ -10,6 +10,7 @@ var pinks_left = 0
|
|||
var level_won = false
|
||||
var current_stage = "res://Stages/EmptyStage.tscn"
|
||||
var multiplier = 1
|
||||
var score = 0
|
||||
|
||||
func add_balls(balls):
|
||||
balls_left += balls
|
||||
|
@ -40,6 +41,7 @@ func reset_board():
|
|||
pinks_left = 0
|
||||
level_won = false
|
||||
multiplier = 1
|
||||
score = 0
|
||||
|
||||
func set_current_scene(stage):
|
||||
current_stage = stage
|
||||
|
|
|
@ -33,6 +33,10 @@ mouse_cursor/custom_image="res://icon.png"
|
|||
window/stretch/mode="2d"
|
||||
window/stretch/aspect="keep"
|
||||
|
||||
[global]
|
||||
|
||||
touch=false
|
||||
|
||||
[importer_defaults]
|
||||
|
||||
texture={
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# credits
|
||||
|
||||
## \#1 pegchamp and wife
|
||||
## \#1 pegchamp, wife and voice acting
|
||||
|
||||
[tess🐯](https://github.com/rawtess)
|
||||
|
||||
|
|
Loading…
Reference in a new issue