Compare commits
10 commits
1fa3ca45ab
...
abaf27308b
Author | SHA1 | Date | |
---|---|---|---|
abaf27308b | |||
aa9872e679 | |||
87dfe3974f | |||
3a8db1ea12 | |||
1b57512bc1 | |||
72b62bf84f | |||
7b13a97367 | |||
53b4a42652 | |||
7876dee72d | |||
c2e1086003 |
BIN
Music and Fonts(Misc.)/Credit Music.ogg
Normal file
BIN
Music and Fonts(Misc.)/Credit Music.ogg
Normal file
Binary file not shown.
15
Music and Fonts(Misc.)/Credit Music.ogg.import
Normal file
15
Music and Fonts(Misc.)/Credit Music.ogg.import
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="ogg_vorbis"
|
||||||
|
type="AudioStreamOGGVorbis"
|
||||||
|
path="res://.import/Credit Music.ogg-62f496e6e9dca116cd2c2175cb69ac2c.oggstr"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Music and Fonts(Misc.)/Credit Music.ogg"
|
||||||
|
dest_files=[ "res://.import/Credit Music.ogg-62f496e6e9dca116cd2c2175cb69ac2c.oggstr" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=true
|
||||||
|
loop_offset=0
|
141
levels/Campaign/Credits/Credits.tscn
Normal file
141
levels/Campaign/Credits/Credits.tscn
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Music and Fonts(Misc.)/Credit Music.ogg" type="AudioStream" id=2]
|
||||||
|
[ext_resource path="res://art/Black.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://Music and Fonts(Misc.)/m5x7.ttf" type="DynamicFontData" id=4]
|
||||||
|
[ext_resource path="res://art/Quit Death 1.png" type="Texture" id=5]
|
||||||
|
[ext_resource path="res://art/Quit DEath 2.png" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://levels/Campaign/Credits/TextureButton.gd" type="Script" id=7]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=1]
|
||||||
|
font_data = ExtResource( 4 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=2]
|
||||||
|
resource_name = "Text Scroll"
|
||||||
|
length = 60.0
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("CanvasLayer/Label:rect_position")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0.1, 59.8, 65.4 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Vector2( 30, 177 ), Vector2( 30, -615.567 ), Vector2( 30, -553 ) ]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/path = NodePath("CanvasLayer/TextureButton:rect_position")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PoolRealArray( 0, 59.8 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Vector2( 110, 830 ), Vector2( 110, 60 ) ]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/path = NodePath("CanvasLayer/TextureButton:visible")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PoolRealArray( 0, 3 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ false, true ]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/path = NodePath("CanvasLayer/Label:visible")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ false, true ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Credits" type="Node"]
|
||||||
|
|
||||||
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite" parent="CanvasLayer"]
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
centered = false
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="CanvasLayer"]
|
||||||
|
margin_left = 30.0
|
||||||
|
margin_top = 156.868
|
||||||
|
margin_right = 293.0
|
||||||
|
margin_bottom = 793.868
|
||||||
|
custom_fonts/font = SubResource( 1 )
|
||||||
|
text = "We can't thank you enough for playing our game. This is our first Game Jam/Coding experience, and had loads of fun. So sincerely, thank you.
|
||||||
|
|
||||||
|
|
||||||
|
From Diego Lugo [dogtots]
|
||||||
|
and Logan Gatlin [Tyranus]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Sprite Creator: Logan Gatlin [Tyranus]
|
||||||
|
|
||||||
|
Coders: Diego Lugo [dogtots],
|
||||||
|
Logan Gatlin [Tyranus]
|
||||||
|
|
||||||
|
|
||||||
|
Sources:
|
||||||
|
Player and Enemy Sprites - Robert [0x72] (https://0x72.itch.io/dungeontileset-ii)
|
||||||
|
|
||||||
|
Inventory Sprites - Robert [0x72]
|
||||||
|
(https://0x72.itch.io/dungeonui)
|
||||||
|
|
||||||
|
Music - Alexmax
|
||||||
|
(https://opengameart.org/content/pixelated-music)
|
||||||
|
|
||||||
|
End Credit Music - Joe Hawley
|
||||||
|
(https://www.youtube.com/watch?v=WOtTTkVuCwA)
|
||||||
|
|
||||||
|
Ambience - JaggedStone
|
||||||
|
(https://opengameart.org/content/loopable-dungeon-ambience)
|
||||||
|
|
||||||
|
Sound Effects - (https://www.freesfx.co.uk/sfx/lever)
|
||||||
|
|
||||||
|
Sound Effects - Sfxr
|
||||||
|
(https://www.drpetter.se/project_sfxr.html)
|
||||||
|
|
||||||
|
"
|
||||||
|
align = 1
|
||||||
|
autowrap = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="TextureButton" type="TextureButton" parent="CanvasLayer"]
|
||||||
|
visible = false
|
||||||
|
margin_left = 110.0
|
||||||
|
margin_top = 809.186
|
||||||
|
margin_right = 210.0
|
||||||
|
margin_bottom = 859.186
|
||||||
|
texture_normal = ExtResource( 5 )
|
||||||
|
texture_hover = ExtResource( 6 )
|
||||||
|
script = ExtResource( 7 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
autoplay = "Text Scroll"
|
||||||
|
"anims/Text Scroll" = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource( 2 )
|
||||||
|
volume_db = -14.312
|
||||||
|
autoplay = true
|
||||||
|
[connection signal="pressed" from="CanvasLayer/TextureButton" to="CanvasLayer/TextureButton" method="_on_TextureButton_pressed"]
|
20
levels/Campaign/Credits/TextureButton.gd
Normal file
20
levels/Campaign/Credits/TextureButton.gd
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
extends TextureButton
|
||||||
|
|
||||||
|
|
||||||
|
# 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():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
#func _process(delta):
|
||||||
|
# pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_TextureButton_pressed():
|
||||||
|
get_tree().quit()
|
8
levels/Campaign/Credits/Timer.gd
Normal file
8
levels/Campaign/Credits/Timer.gd
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
extends Timer
|
||||||
|
|
||||||
|
onready var DamageCD = $DamageCD
|
||||||
|
|
||||||
|
func _on_Timer_timeout():
|
||||||
|
if DamageCD.is_stopped():
|
||||||
|
Player.current_scene = "res://levels/Campaign/End/End.tscn"
|
||||||
|
get_tree().change_scene("res://levels/Campaign/End/End.tscn")
|
|
@ -168,6 +168,6 @@ __meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
[connection signal="body_entered" from="Leap" to="Timer" method="_on_Leap_body_entered"]
|
[connection signal="body_entered" from="Leap" to="Timer" method="_on_Leap_body_entered"]
|
||||||
[connection signal="body_entered" from="Leap" to="AnimationPlayer2" method="_on_Leap_body_entered"]
|
|
||||||
[connection signal="body_entered" from="Leap" to="AnimationPlayer" method="_on_Leap_body_entered"]
|
[connection signal="body_entered" from="Leap" to="AnimationPlayer" method="_on_Leap_body_entered"]
|
||||||
|
[connection signal="body_entered" from="Leap" to="AnimationPlayer2" method="_on_Leap_body_entered"]
|
||||||
[connection signal="timeout" from="Timer" to="Timer" method="_on_Timer_timeout"]
|
[connection signal="timeout" from="Timer" to="Timer" method="_on_Timer_timeout"]
|
||||||
|
|
|
@ -56,12 +56,6 @@ position = Vector2( 656, 272 )
|
||||||
[node name="Skeleton Enemy3" parent="Enemy" instance=ExtResource( 2 )]
|
[node name="Skeleton Enemy3" parent="Enemy" instance=ExtResource( 2 )]
|
||||||
position = Vector2( 800, 272 )
|
position = Vector2( 800, 272 )
|
||||||
|
|
||||||
[node name="Skeleton Enemy4" parent="Enemy" instance=ExtResource( 2 )]
|
|
||||||
position = Vector2( 864, 272 )
|
|
||||||
|
|
||||||
[node name="Skeleton Enemy5" parent="Enemy" instance=ExtResource( 2 )]
|
|
||||||
position = Vector2( 736, 272 )
|
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource( 3 )]
|
[node name="Player" parent="." instance=ExtResource( 3 )]
|
||||||
position = Vector2( 324, 253 )
|
position = Vector2( 324, 253 )
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,6 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
|
||||||
|
|
||||||
[node name="Ogre6" parent="." instance=ExtResource( 7 )]
|
[node name="Ogre6" parent="." instance=ExtResource( 7 )]
|
||||||
position = Vector2( 334, 85 )
|
position = Vector2( 334, 85 )
|
||||||
[connection signal="on" from="Lever" to="TileMapAppearing" method="_on_Lever_on"]
|
|
||||||
[connection signal="on" from="Lever" to="TileMapDisapearing" method="_on_Lever_on"]
|
[connection signal="on" from="Lever" to="TileMapDisapearing" method="_on_Lever_on"]
|
||||||
|
[connection signal="on" from="Lever" to="TileMapAppearing" method="_on_Lever_on"]
|
||||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
||||||
|
|
File diff suppressed because one or more lines are too long
7
levels/Campaign/Level 5/Enemies.gd
Normal file
7
levels/Campaign/Level 5/Enemies.gd
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
signal fight_done
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if get_child_count() < 2:
|
||||||
|
emit_signal("fight_done")
|
File diff suppressed because one or more lines are too long
|
@ -20,7 +20,7 @@ color = Color( 0.564706, 0.564706, 0.564706, 1 )
|
||||||
position = Vector2( 128, 160 )
|
position = Vector2( 128, 160 )
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource( 5 )]
|
[node name="Player" parent="." instance=ExtResource( 5 )]
|
||||||
position = Vector2( 74, 158 )
|
position = Vector2( 74, 157 )
|
||||||
|
|
||||||
[node name="torch" parent="." instance=ExtResource( 4 )]
|
[node name="torch" parent="." instance=ExtResource( 4 )]
|
||||||
position = Vector2( 85, 91 )
|
position = Vector2( 85, 91 )
|
||||||
|
@ -28,8 +28,7 @@ position = Vector2( 85, 91 )
|
||||||
[node name="torch2" parent="." instance=ExtResource( 4 )]
|
[node name="torch2" parent="." instance=ExtResource( 4 )]
|
||||||
position = Vector2( 171, 91 )
|
position = Vector2( 171, 91 )
|
||||||
|
|
||||||
[node name="TileMap" parent="torch2" instance=ExtResource( 6 )]
|
[node name="TileMap" parent="." instance=ExtResource( 6 )]
|
||||||
position = Vector2( -171, -91 )
|
|
||||||
tile_data = PoolIntArray( 131069, 0, 8, 131070, 0, 10, 131071, 0, 10, 65536, 0, 10, 65537, 0, 10, 65538, 0, 10, 65539, 0, 10, 65540, 0, 10, 65541, 0, 10, 65542, 0, 10, 65543, 0, 10, 65544, 0, 10, 65545, 0, 10, 65546, 0, 10, 65547, 0, 10, 65548, 0, 10, 65549, 0, 10, 65550, 0, 10, 65551, 0, 10, 65552, 0, 10, 65553, 0, 10, 65554, 0, 11, 196605, 0, 65544, 196606, 0, 131081, 196607, 0, 131081, 131072, 0, 131081, 131073, 0, 131081, 131074, 0, 131081, 131075, 0, 131081, 131076, 0, 131081, 131077, 0, 131081, 131078, 0, 131081, 131079, 0, 131081, 131080, 0, 131081, 131081, 0, 131081, 131082, 0, 131081, 131083, 0, 131081, 131084, 0, 131081, 131085, 0, 131081, 131086, 0, 131081, 131087, 0, 131081, 131088, 0, 131081, 131089, 0, 131081, 131090, 0, 131083, 262141, 0, 65544, 262142, 0, 131081, 262143, 0, 131081, 196608, 0, 131081, 196609, 0, 131078, 196610, 0, 196617, 196611, 0, 196617, 196612, 0, 196617, 196613, 0, 196617, 196614, 0, 196617, 196615, 0, 196617, 196616, 0, 196617, 196617, 0, 196617, 196618, 0, 196617, 196619, 0, 196617, 196620, 0, 196617, 196621, 0, 196617, 196622, 0, 131077, 196623, 0, 131081, 196624, 0, 131081, 196625, 0, 131081, 196626, 0, 131083, 327677, 0, 65544, 327678, 0, 131081, 327679, 0, 131081, 262144, 0, 131081, 262145, 0, 131083, 262158, 0, 65544, 262159, 0, 131081, 262160, 0, 131081, 262161, 0, 131081, 262162, 0, 131083, 393213, 0, 65544, 393214, 0, 131081, 393215, 0, 131081, 327680, 0, 131081, 327681, 0, 131083, 327694, 0, 65544, 327695, 0, 131081, 327696, 0, 131081, 327697, 0, 131081, 327698, 0, 131083, 458749, 0, 65544, 458750, 0, 131081, 458751, 0, 131081, 393216, 0, 131081, 393217, 0, 131083, 393230, 0, 65544, 393231, 0, 131081, 393232, 0, 131081, 393233, 0, 131081, 393234, 0, 131083, 524285, 0, 65544, 524286, 0, 131081, 524287, 0, 131081, 458752, 0, 131081, 458753, 0, 131083, 458766, 0, 65544, 458767, 0, 131081, 458768, 0, 131081, 458769, 0, 131081, 458770, 0, 131083, 589821, 0, 65544, 589822, 0, 131081, 589823, 0, 131081, 524288, 0, 131081, 524289, 0, 131083, 524302, 0, 65544, 524303, 0, 131081, 524304, 0, 131081, 524305, 0, 131081, 524306, 0, 131083, 655357, 0, 65544, 655358, 0, 131081, 655359, 0, 131081, 589824, 0, 131081, 589825, 0, 131083, 589838, 0, 65544, 589839, 0, 131081, 589840, 0, 131081, 589841, 0, 131081, 589842, 0, 131083, 720893, 0, 65544, 720894, 0, 131081, 720895, 0, 131081, 655360, 0, 131081, 655361, 0, 65542, 655362, 0, 10, 655363, 0, 10, 655364, 0, 10, 655365, 0, 10, 655366, 0, 10, 655367, 0, 10, 655368, 0, 10, 655369, 0, 10, 655370, 0, 10, 655371, 0, 10, 655372, 0, 10, 655373, 0, 10, 655374, 0, 65541, 655375, 0, 131081, 655376, 0, 131081, 655377, 0, 131081, 655378, 0, 131083, 786429, 0, 65544, 786430, 0, 131081, 786431, 0, 131081, 720896, 0, 131081, 720897, 0, 131081, 720898, 0, 131081, 720899, 0, 131081, 720900, 0, 131081, 720901, 0, 131081, 720902, 0, 131081, 720903, 0, 131081, 720904, 0, 131081, 720905, 0, 131081, 720906, 0, 131081, 720907, 0, 131081, 720908, 0, 131081, 720909, 0, 131081, 720910, 0, 131081, 720911, 0, 131081, 720912, 0, 131081, 720913, 0, 131081, 720914, 0, 131083, 851965, 0, 196616, 851966, 0, 196617, 851967, 0, 196617, 786432, 0, 196617, 786433, 0, 196617, 786434, 0, 196617, 786435, 0, 196617, 786436, 0, 196617, 786437, 0, 196617, 786438, 0, 196617, 786439, 0, 196617, 786440, 0, 196617, 786441, 0, 196617, 786442, 0, 196617, 786443, 0, 196617, 786444, 0, 196617, 786445, 0, 196617, 786446, 0, 196617, 786447, 0, 196617, 786448, 0, 196617, 786449, 0, 196617, 786450, 0, 196619 )
|
tile_data = PoolIntArray( 131069, 0, 8, 131070, 0, 10, 131071, 0, 10, 65536, 0, 10, 65537, 0, 10, 65538, 0, 10, 65539, 0, 10, 65540, 0, 10, 65541, 0, 10, 65542, 0, 10, 65543, 0, 10, 65544, 0, 10, 65545, 0, 10, 65546, 0, 10, 65547, 0, 10, 65548, 0, 10, 65549, 0, 10, 65550, 0, 10, 65551, 0, 10, 65552, 0, 10, 65553, 0, 10, 65554, 0, 11, 196605, 0, 65544, 196606, 0, 131081, 196607, 0, 131081, 131072, 0, 131081, 131073, 0, 131081, 131074, 0, 131081, 131075, 0, 131081, 131076, 0, 131081, 131077, 0, 131081, 131078, 0, 131081, 131079, 0, 131081, 131080, 0, 131081, 131081, 0, 131081, 131082, 0, 131081, 131083, 0, 131081, 131084, 0, 131081, 131085, 0, 131081, 131086, 0, 131081, 131087, 0, 131081, 131088, 0, 131081, 131089, 0, 131081, 131090, 0, 131083, 262141, 0, 65544, 262142, 0, 131081, 262143, 0, 131081, 196608, 0, 131081, 196609, 0, 131078, 196610, 0, 196617, 196611, 0, 196617, 196612, 0, 196617, 196613, 0, 196617, 196614, 0, 196617, 196615, 0, 196617, 196616, 0, 196617, 196617, 0, 196617, 196618, 0, 196617, 196619, 0, 196617, 196620, 0, 196617, 196621, 0, 196617, 196622, 0, 131077, 196623, 0, 131081, 196624, 0, 131081, 196625, 0, 131081, 196626, 0, 131083, 327677, 0, 65544, 327678, 0, 131081, 327679, 0, 131081, 262144, 0, 131081, 262145, 0, 131083, 262158, 0, 65544, 262159, 0, 131081, 262160, 0, 131081, 262161, 0, 131081, 262162, 0, 131083, 393213, 0, 65544, 393214, 0, 131081, 393215, 0, 131081, 327680, 0, 131081, 327681, 0, 131083, 327694, 0, 65544, 327695, 0, 131081, 327696, 0, 131081, 327697, 0, 131081, 327698, 0, 131083, 458749, 0, 65544, 458750, 0, 131081, 458751, 0, 131081, 393216, 0, 131081, 393217, 0, 131083, 393230, 0, 65544, 393231, 0, 131081, 393232, 0, 131081, 393233, 0, 131081, 393234, 0, 131083, 524285, 0, 65544, 524286, 0, 131081, 524287, 0, 131081, 458752, 0, 131081, 458753, 0, 131083, 458766, 0, 65544, 458767, 0, 131081, 458768, 0, 131081, 458769, 0, 131081, 458770, 0, 131083, 589821, 0, 65544, 589822, 0, 131081, 589823, 0, 131081, 524288, 0, 131081, 524289, 0, 131083, 524302, 0, 65544, 524303, 0, 131081, 524304, 0, 131081, 524305, 0, 131081, 524306, 0, 131083, 655357, 0, 65544, 655358, 0, 131081, 655359, 0, 131081, 589824, 0, 131081, 589825, 0, 131083, 589838, 0, 65544, 589839, 0, 131081, 589840, 0, 131081, 589841, 0, 131081, 589842, 0, 131083, 720893, 0, 65544, 720894, 0, 131081, 720895, 0, 131081, 655360, 0, 131081, 655361, 0, 65542, 655362, 0, 10, 655363, 0, 10, 655364, 0, 10, 655365, 0, 10, 655366, 0, 10, 655367, 0, 10, 655368, 0, 10, 655369, 0, 10, 655370, 0, 10, 655371, 0, 10, 655372, 0, 10, 655373, 0, 10, 655374, 0, 65541, 655375, 0, 131081, 655376, 0, 131081, 655377, 0, 131081, 655378, 0, 131083, 786429, 0, 65544, 786430, 0, 131081, 786431, 0, 131081, 720896, 0, 131081, 720897, 0, 131081, 720898, 0, 131081, 720899, 0, 131081, 720900, 0, 131081, 720901, 0, 131081, 720902, 0, 131081, 720903, 0, 131081, 720904, 0, 131081, 720905, 0, 131081, 720906, 0, 131081, 720907, 0, 131081, 720908, 0, 131081, 720909, 0, 131081, 720910, 0, 131081, 720911, 0, 131081, 720912, 0, 131081, 720913, 0, 131081, 720914, 0, 131083, 851965, 0, 196616, 851966, 0, 196617, 851967, 0, 196617, 786432, 0, 196617, 786433, 0, 196617, 786434, 0, 196617, 786435, 0, 196617, 786436, 0, 196617, 786437, 0, 196617, 786438, 0, 196617, 786439, 0, 196617, 786440, 0, 196617, 786441, 0, 196617, 786442, 0, 196617, 786443, 0, 196617, 786444, 0, 196617, 786445, 0, 196617, 786446, 0, 196617, 786447, 0, 196617, 786448, 0, 196617, 786449, 0, 196617, 786450, 0, 196619 )
|
||||||
|
|
||||||
[node name="CanvasLayer" parent="." instance=ExtResource( 1 )]
|
[node name="CanvasLayer" parent="." instance=ExtResource( 1 )]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extends Projectile
|
extends Projectile
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
damage = 3
|
damage = 2.5
|
||||||
energy_cost = 3
|
energy_cost = 3
|
||||||
|
|
||||||
func on_impact(collision):
|
func on_impact(collision):
|
||||||
|
|
|
@ -2,8 +2,14 @@ extends Node
|
||||||
|
|
||||||
onready var MainMusic: AudioStreamPlayer = $MainMusic
|
onready var MainMusic: AudioStreamPlayer = $MainMusic
|
||||||
onready var Ambience: AudioStreamPlayer = $Ambience
|
onready var Ambience: AudioStreamPlayer = $Ambience
|
||||||
|
onready var CreditMusic: AudioStreamPlayer = $CreditMusic
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
if Player.current_scene == "res://levels/Campaign/Credits/Credits.tscn":
|
||||||
|
CreditMusic.playing = true
|
||||||
|
MainMusic.playing = false
|
||||||
|
Ambience.playing = false
|
||||||
|
else:
|
||||||
if not MainMusic.playing:
|
if not MainMusic.playing:
|
||||||
MainMusic.playing = true
|
MainMusic.playing = true
|
||||||
if not Ambience.playing:
|
if not Ambience.playing:
|
||||||
|
|
|
@ -14,3 +14,5 @@ volume_db = -4.0
|
||||||
[node name="Ambience" type="AudioStreamPlayer" parent="."]
|
[node name="Ambience" type="AudioStreamPlayer" parent="."]
|
||||||
stream = ExtResource( 2 )
|
stream = ExtResource( 2 )
|
||||||
volume_db = -8.0
|
volume_db = -8.0
|
||||||
|
|
||||||
|
[node name="CreditMusic" type="AudioStreamPlayer" parent="."]
|
||||||
|
|
|
@ -49,5 +49,4 @@ func do_exit():
|
||||||
|
|
||||||
|
|
||||||
func _on_CanvasLayer_finished():
|
func _on_CanvasLayer_finished():
|
||||||
Music.get_node("MainMusic").play(0.0)
|
|
||||||
$Delay.start()
|
$Delay.start()
|
||||||
|
|
|
@ -64,6 +64,7 @@ tracks/2/keys = {
|
||||||
|
|
||||||
[sub_resource type="Animation" id=3]
|
[sub_resource type="Animation" id=3]
|
||||||
length = 1.5
|
length = 1.5
|
||||||
|
step = 0.06
|
||||||
tracks/0/type = "value"
|
tracks/0/type = "value"
|
||||||
tracks/0/path = NodePath("Label:percent_visible")
|
tracks/0/path = NodePath("Label:percent_visible")
|
||||||
tracks/0/interp = 1
|
tracks/0/interp = 1
|
||||||
|
@ -94,10 +95,12 @@ collision_mask = 2
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
|
modulate = Color( 1, 1, 1, 0.73047 )
|
||||||
position = Vector2( 0, -12 )
|
position = Vector2( 0, -12 )
|
||||||
texture = ExtResource( 1 )
|
texture = ExtResource( 1 )
|
||||||
vframes = 3
|
vframes = 3
|
||||||
hframes = 4
|
hframes = 4
|
||||||
|
frame = 3
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
autoplay = "Idle"
|
autoplay = "Idle"
|
||||||
|
@ -120,7 +123,7 @@ custom_fonts/font = SubResource( 6 )
|
||||||
align = 1
|
align = 1
|
||||||
valign = 1
|
valign = 1
|
||||||
autowrap = true
|
autowrap = true
|
||||||
percent_visible = 0.103
|
percent_visible = 0.13888
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
63
npc/WizardBoss.gd
Normal file
63
npc/WizardBoss.gd
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
extends KinematicBody2D
|
||||||
|
|
||||||
|
var velocity = Vector2.ZERO
|
||||||
|
var line0 = ""
|
||||||
|
var line1 = "Congratulations on making it to the end!"
|
||||||
|
var line2 = "You have proven yourself to be adept with magic."
|
||||||
|
var line3 = "However, there is one last task you must complete..."
|
||||||
|
var line4 = "You must put all of your knowledge to the test"
|
||||||
|
var line5 = "LET THE BATTLE BEGIN"
|
||||||
|
var lines = [line0, line1, line2, line3, line4, line5]
|
||||||
|
|
||||||
|
var line_number = 0
|
||||||
|
var current_line
|
||||||
|
|
||||||
|
signal dialogue_finished
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
var p = Player.position
|
||||||
|
if p.x > position.x:
|
||||||
|
$Sprite.flip_h = false
|
||||||
|
if p.x < position.x:
|
||||||
|
$Sprite.flip_h = true
|
||||||
|
current_line = lines[line_number]
|
||||||
|
$Label.text = current_line
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
velocity.y += 20
|
||||||
|
velocity = move_and_slide(velocity)
|
||||||
|
|
||||||
|
func next_line():
|
||||||
|
print(Player.position)
|
||||||
|
if line_number != 5:
|
||||||
|
if line_number == 4 or line_number == 5:
|
||||||
|
$Typewriter.play("FastTypewriter")
|
||||||
|
else:
|
||||||
|
$Typewriter.play("Typewriter")
|
||||||
|
line_number = clamp(line_number + 1, 0, 5)
|
||||||
|
else:
|
||||||
|
$Timer.stop()
|
||||||
|
emit_signal("dialogue_finished")
|
||||||
|
start_battle()
|
||||||
|
|
||||||
|
func _on_Timer_timeout():
|
||||||
|
next_line()
|
||||||
|
|
||||||
|
func _on_Delay_timeout():
|
||||||
|
next_line()
|
||||||
|
$Timer.start()
|
||||||
|
|
||||||
|
func _on_CanvasLayer_finished():
|
||||||
|
$Delay.start()
|
||||||
|
|
||||||
|
func start_battle():
|
||||||
|
$Typewriter.play("Exit")
|
||||||
|
yield($Typewriter, "animation_finished")
|
||||||
|
set_physics_process(false)
|
||||||
|
position = Vector2(0, 86)
|
||||||
|
$AnimationPlayer.stop()
|
||||||
|
$Sprite.frame = 11
|
||||||
|
$Label.visible = false
|
||||||
|
$Typewriter.play("Enter")
|
||||||
|
emit_signal("dialogue_finished")
|
||||||
|
|
198
npc/WizardBoss.tscn
Normal file
198
npc/WizardBoss.tscn
Normal file
|
@ -0,0 +1,198 @@
|
||||||
|
[gd_scene load_steps=13 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://npc/WizardBoss.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://art/WizardM.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://art/light.png" type="Texture" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=1]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 0.6
|
||||||
|
loop = true
|
||||||
|
step = 0.05
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Sprite:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.15, 0.3, 0.45 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ 0, 1, 2, 3 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=8]
|
||||||
|
resource_name = "Enter"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Sprite:modulate")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.5 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/path = NodePath("Light2D:energy")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PoolRealArray( 0.5, 1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ 0.0, 2.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=2]
|
||||||
|
resource_name = "Exit"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Label:modulate")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.5 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/path = NodePath("Sprite:modulate")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PoolRealArray( 0.5, 1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=7]
|
||||||
|
resource_name = "FastTypewriter"
|
||||||
|
length = 0.3
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Label:percent_visible")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.3 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ 0.0, 1.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=3]
|
||||||
|
length = 1.5
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Label:percent_visible")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 1.5 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ 0.103, 1.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=9]
|
||||||
|
resource_name = "hit"
|
||||||
|
length = 0.1
|
||||||
|
step = 0.05
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Sprite:modulate")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Color( 10, 10, 10, 1 ), Color( 1, 1, 1, 1 ) ]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id=4]
|
||||||
|
extents = Vector2( 7, 7 )
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFontData" id=5]
|
||||||
|
font_path = "res://Music and Fonts(Misc.)/m5x7.ttf"
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=6]
|
||||||
|
extra_spacing_top = -3
|
||||||
|
extra_spacing_bottom = -3
|
||||||
|
font_data = SubResource( 5 )
|
||||||
|
|
||||||
|
[node name="Wizard" type="KinematicBody2D"]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
|
position = Vector2( 0, -12 )
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
vframes = 3
|
||||||
|
hframes = 4
|
||||||
|
|
||||||
|
[node name="Light2D" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
color = Color( 0, 0.109804, 1, 1 )
|
||||||
|
energy = 0.0
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
autoplay = "Idle"
|
||||||
|
anims/Idle = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="Typewriter" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Enter = SubResource( 8 )
|
||||||
|
anims/Exit = SubResource( 2 )
|
||||||
|
anims/FastTypewriter = SubResource( 7 )
|
||||||
|
anims/Typewriter = SubResource( 3 )
|
||||||
|
anims/hit = SubResource( 9 )
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
position = Vector2( 0, -7 )
|
||||||
|
shape = SubResource( 4 )
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
margin_left = -55.0
|
||||||
|
margin_top = -63.0
|
||||||
|
margin_right = 55.0
|
||||||
|
margin_bottom = -26.0
|
||||||
|
custom_fonts/font = SubResource( 6 )
|
||||||
|
align = 1
|
||||||
|
valign = 1
|
||||||
|
autowrap = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 4.0
|
||||||
|
|
||||||
|
[node name="Delay" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[node name="AttackTimer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.2
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="AttackDelay" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
||||||
|
[connection signal="timeout" from="Delay" to="." method="_on_Delay_timeout"]
|
||||||
|
[connection signal="timeout" from="AttackTimer" to="." method="_on_AttackDelay_timeout"]
|
|
@ -27,8 +27,6 @@ func lock():
|
||||||
func unlock():
|
func unlock():
|
||||||
unlocked = true
|
unlocked = true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_x_timeout():
|
func _on_x_timeout():
|
||||||
Player.current_scene = next_scene
|
Player.current_scene = next_scene
|
||||||
get_tree().change_scene(""+next_scene+"")
|
get_tree().change_scene(""+next_scene+"")
|
||||||
|
|
|
@ -115,4 +115,4 @@ __meta__ = {
|
||||||
one_shot = true
|
one_shot = true
|
||||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_Area2D_body_entered"]
|
||||||
[connection signal="animation_started" from="CanvasLayer/AnimationPlayer" to="." method="_on_animation_started"]
|
[connection signal="animation_started" from="CanvasLayer/AnimationPlayer" to="." method="_on_animation_started"]
|
||||||
[connection signal="timeout" from="CanvasLayer/Timer" to="." method="_on_Timer_timeout"]
|
[connection signal="timeout" from="CanvasLayer/Timer" to="." method="_on_x_timeout"]
|
||||||
|
|
Loading…
Reference in a new issue